Ich denke, Sie sollten so etwas tun wie die GUI-Anwendungen. Meine Idee dazu ist, zwei Funktionen für Kopieren und Einfügen zu schreiben, wobei Kopieren den Pfad von Dateien schreibt, die in eine temporäre Datei kopiert werden sollen, und Einfügen diese Pfade liest und einfach den cpBefehl aufruft . Meine Implementierung (in .bashrcDatei zu legen ) ist wie folgt:
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
}
Es könnten bessere Skripte geschrieben werden, um diese Idee umzusetzen. Ich habe meine eigenen getestet und es funktioniert sehr gut für Dateien und Ordner (ich weiß nicht, wie xclipman Ordner kopieren kann !!)
Beispielsweise:
/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
Ich mag diese Idee. Und mit kleinen Änderungen können Sie sogar eine "Schnitt" -Funktion implementieren.
Pablo Venturino
@Gilles Könnten Sie bitte erklären , warum Sie ersetzt echomit printf?
Meysam
@Meysam Auch unter arbeiten shopt -s xpg_echo.
Gilles 'SO- hör auf böse zu sein'
1
@Meysam printfist portabel und sicher, solange echoes nicht ist. Das Wooledge-Wiki erwähnt dies kurz.
JW013
10
Ich schlage vor, xclip. Ich benutze es die ganze Zeit dafür. aber du brauchst kein script. benutze einfach Funktionen.
Ich sehe keine Notwendigkeit, diese Skripte zu verwenden, insbesondere, weil, wenn Sie tun, was ich denke, dass Sie tun, Sie die bereits erwähnten Skripte (auf dem hilfreichen Linux-Leckerbissen-Blog) als ärgerlich empfinden, weil sie Sie, wo immer möglich , zur Eingabe auffordern Sie zu benutzen, widerspricht der Unix-Philosophie.
Ich schlage vor, nur einige Funktionen in Ihre zu schreiben .bashrc:
Um diese zu verwenden, müssen Sie apt-get install xclip(Debian, Ubuntu, Linux Mint usw.) oder zypper in xclip(openSUSE, andere RPM-basierte Systeme) oder ein gleichwertiges Programm verwenden. Das Programm sollte auf jedem von Ihnen verwendeten System verfügbar sein.
Hierfür können Sie den xclipBefehl verwenden. Sie können Bash-Skripte von diesem Link herunterladen und Aliase für bash cp2clipund bash clippastein Ihre .bashrcDatei einfügen .
Ich meinte, die Dateien in Ihrem Home-Verzeichnis zu behalten und zwei Aliase in Ihrem .bashrc-Alias zu platzieren Sie können diese überall verwenden. Weitereman alias
echo
mitprintf
?shopt -s xpg_echo
.printf
ist portabel und sicher, solangeecho
es nicht ist. Das Wooledge-Wiki erwähnt dies kurz.Ich schlage vor, xclip. Ich benutze es die ganze Zeit dafür. aber du brauchst kein script. benutze einfach Funktionen.
Ich sehe keine Notwendigkeit, diese Skripte zu verwenden, insbesondere, weil, wenn Sie tun, was ich denke, dass Sie tun, Sie die bereits erwähnten Skripte (auf dem hilfreichen Linux-Leckerbissen-Blog) als ärgerlich empfinden, weil sie Sie, wo immer möglich , zur Eingabe auffordern Sie zu benutzen, widerspricht der Unix-Philosophie.
Ich schlage vor, nur einige Funktionen in Ihre zu schreiben
.bashrc
:Um diese zu verwenden, müssen Sie
apt-get install xclip
(Debian, Ubuntu, Linux Mint usw.) oderzypper in xclip
(openSUSE, andere RPM-basierte Systeme) oder ein gleichwertiges Programm verwenden. Das Programm sollte auf jedem von Ihnen verwendeten System verfügbar sein.quelle
Hierfür können Sie den
xclip
Befehl verwenden. Sie können Bash-Skripte von diesem Link herunterladen und Aliase fürbash cp2clip
undbash clippaste
in Ihre.bashrc
Datei einfügen .quelle
man alias