답변:
GUI 응용 프로그램과 같은 작업을 수행해야한다고 생각합니다. 이 작업을 수행하기위한 아이디어는 복사 및 붙여 넣기에 대한 두 가지 기능을 작성하는 것입니다. 여기서 복사는 임시 파일에 복사 할 파일의 경로를 쓰고 붙여 넣기는 해당 경로를 읽고 단순히 cp
명령을 호출합니다 . .bashrc
파일에 넣을 구현 은 다음과 같습니다.
function Copy {
touch ~/.clipfiles
for i in "$@"; do
if [[ $i != /* ]]; then i=$PWD/$i; fi
i=${i//\\/\\\\}; i=${i//$'\n'/$'\\\n'}
printf '%s\n' "$i"
done >> ~/.clipfiles
}
function Paste {
while IFS= read src; do
cp -Rdp "$src" .
done < ~/.clipfiles
rm ~/.clipfiles
}
이 아이디어를 구현하기 위해 더 나은 스크립트를 작성할 수 있었고, 나는 내 자신을 테스트했으며 파일과 폴더에서 매우 잘 작동합니다 ( xclip
폴더 복사에 어떻게 작동 할 수 있는지 모르겠습니다 !!)
예를 들면 다음과 같습니다.
/usr/local/dir1# Copy a.txt *.cpp
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Paste
/usr/local/dir1# Copy *.h *.cpp b.txt subdir1
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Paste
/usr/local/dir1# Copy a.txt b.txt
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Copy c.txt d.txt
/usr/local/dir2# cd /usr/local/dir3
/usr/local/dir3# Paste
echo
한 이유를 설명해 주 printf
시겠습니까?
shopt -s xpg_echo
있습니다.
나는 xclip을 제안한다. 나는 이것을 위해 항상 그것을 사용합니다. 그러나 당신은 스크립트가 필요하지 않습니다. 그냥 기능을 사용하십시오.
나는이 스크립트를 사용할 필요가 없다고 생각합니다. 특히 내가하고 있다고 생각하는 것을하고 있다면, 이미 도움이되는 Linux tidbits 블로그에서 언급 한 스크립트가 가능한 곳 어디에서나 입력하라는 메시지를 표시하기 때문에 성가신 것을 찾을 수 있습니다. 유닉스 철학과 달리 그것들을 사용하는 것.
나는 당신의 함수에 몇 가지 기능을 쓰는 것이 좋습니다 .bashrc
.
clip2file () {
xclip -out -selection clipboard >> $@
echo -e "\n" >> $@
}
file2clip () {
cat $@ | xclip -selection clipboard
}
이를 사용하려면 apt-get install xclip
(Debian, Ubuntu, Linux Mint 등) 또는 zypper in xclip
(openSUSE, 기타 .rpm 기반 시스템) 또는 이와 동등한 것이 필요합니다. 프로그램은 사용중인 모든 시스템에서 사용할 수 있어야합니다.
xclip
이 명령을 사용할 수 있습니다 . 이 링크 에서 bash 스크립트를 다운로드 bash cp2clip
하고 파일의 별칭을 파일에 bash clippaste
넣을 수 .bashrc
있습니다.
man alias
또는 linfo.org/alias.html