Zunächst einmal verwenden Sie es nicht, $
wenn Sie einen Aliasnamen aufrufen. $
dient zum Erweitern einer Variablen (und einigen anderen Dingen, die für diese Frage nicht besonders relevant sind).
Zweitens funktionieren Aliasnamen ein wenig wie Variablen, in dem Sinne, dass sie (mit der Gefahr einer zu geringen Vereinfachung) sich nur zu einer Reihe von Wörtern ausweiten. Sie sagen, Sie möchten das tun myrm foo
, aber das würde sich erweitern mv /home/user/Trash/* foo
, was keinen Sinn macht.
Eine einfache Lösung wäre, den Alias zu definieren mv -t /home/user/Trash
, der funktionieren würde, weil das mv
unterstützt
mv -t ziel_dir datei …Syntax als Alternative zum
mv datei … zielverzeichnisSyntax.
Mit einer Shell-Funktion können Sie jedoch flexibler werden. Diese kombinieren die Flexibilität von Skripten mit dem (geringen) Aufwand von Aliasnamen. Zum Beispiel,
myrm() { mv "$@" /home/user/Trash; }
wird myrm foo
als interpretiert mv foo /home/user/Trash
.