Saya pikir Anda harus melakukan sesuatu seperti aplikasi GUI. Gagasan saya untuk melakukan ini adalah menulis dua fungsi untuk Salin dan Tempel, tempat Salin menulis jalur file yang akan disalin ke file sementara dan Tempel membaca jalur tersebut dan cukup memanggil cpperintah. Implementasi saya (untuk dimasukkan ke dalam .bashrcfile) seperti di bawah ini:
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
}
Skrip yang lebih baik dapat ditulis untuk menerapkan ide ini, saya menguji ide saya sendiri dan ini bekerja sangat baik untuk file dan folder (saya tidak tahu bagaimana xclipbisa bekerja untuk menyalin folder !!)
Sebagai contoh:
/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
Aku suka ide ini. Dan dengan sedikit modifikasi, Anda bahkan bisa mengimplementasikan fungsi "cut" juga.
Pablo Venturino
@Gilles Bisa tolong jelaskan mengapa Anda diganti echodengan printf?
Meysam
@ Meysam Untuk bekerja di bawah shopt -s xpg_echo.
Gilles 'SO- stop being evil'
1
@ Meysam printfportabel dan aman sementara echotidak. The Wooledge wiki menyebutkan ini secara singkat.
jw013
10
saya sarankan xclip. Saya menggunakannya sepanjang waktu untuk ini. tetapi Anda tidak perlu skrip. cukup gunakan fungsi.
saya melihat tidak perlu menggunakan skrip ini, khususnya, karena jika Anda melakukan apa yang saya pikir Anda lakukan, Anda akan menemukan skrip yang telah disebutkan (di blog tidbits linux bermanfaat) menjengkelkan karena mereka meminta Anda untuk input sedapat mungkin , hanya untuk menggunakannya, bertentangan dengan filosofi unix.
saya sarankan hanya menulis beberapa fungsi ke .bashrc:
untuk menggunakannya, Anda perlu apt-get install xclip(Debian, Ubuntu, Linux Mint, dll.) atau zypper in xclip(openSUSE, sistem berbasis .rpm lainnya) atau sejenisnya. program harus tersedia pada sistem apa pun yang Anda gunakan.
Anda dapat menggunakan xclipperintah untuk ini. Anda dapat mengunduh skrip bash dari tautan ini dan memasukkan alias untuk bash cp2clipdan bash clippasteke dalam .bashrcfile Anda .
saya bermaksud menyimpan file di direktori home Anda dan memasukkan dua alias di .bashrc alias cp2clip = 'bash / home / <username> /cp2clip.sh' dan clippaste = 'bash / home / <username> /clippaste.sh' jadi Anda dapat menggunakannya di mana saja. Untuk membaca lebih lanjut tentang alias, Anda dapat melihat man aliasatau linfo.org/alias.html
echo
denganprintf
?shopt -s xpg_echo
.printf
portabel dan aman sementaraecho
tidak. The Wooledge wiki menyebutkan ini secara singkat.saya sarankan xclip. Saya menggunakannya sepanjang waktu untuk ini. tetapi Anda tidak perlu skrip. cukup gunakan fungsi.
saya melihat tidak perlu menggunakan skrip ini, khususnya, karena jika Anda melakukan apa yang saya pikir Anda lakukan, Anda akan menemukan skrip yang telah disebutkan (di blog tidbits linux bermanfaat) menjengkelkan karena mereka meminta Anda untuk input sedapat mungkin , hanya untuk menggunakannya, bertentangan dengan filosofi unix.
saya sarankan hanya menulis beberapa fungsi ke
.bashrc
:untuk menggunakannya, Anda perlu
apt-get install xclip
(Debian, Ubuntu, Linux Mint, dll.) atauzypper in xclip
(openSUSE, sistem berbasis .rpm lainnya) atau sejenisnya. program harus tersedia pada sistem apa pun yang Anda gunakan.sumber
Anda dapat menggunakan
xclip
perintah untuk ini. Anda dapat mengunduh skrip bash dari tautan ini dan memasukkan alias untukbash cp2clip
danbash clippaste
ke dalam.bashrc
file Anda .sumber
man alias
atau linfo.org/alias.html