Sie brauchen etwas wie: -
CP() { [ $# == 1 ] && cp "$@" . || cp "$@"; } alias cp=CP
Diese können hinzugefügt werden, ~/.bashrc
wenn Sie eine semi-permanente Änderung wünschen.
Beachten Sie, dass ein Alias in einem Skript nicht funktioniert: Wenn Sie eine Änderung benötigen, die in Skripts funktioniert, können Sie nach der Überprüfung der Position des Real- cp
Objekts ein privates $HOME/bin
Verzeichnis an der Spitze Ihrer $PATH
Liste verwenden und darin ein ausführbares Skript erstellen cp
enthaltend: -
/bin/bash [ $# == 1 ] && /bin/cp "$@" . || /bin/cp "$@"
Sie müssen hinzufügen export PATH=$HOME/bin:$PATH
zu~/.bashrc
Beachten Sie auch, dass alle Optionen vor der ersten Datei den Test für einen einzelnen Parameter ungültig machen. Sie müssen die Parameter in der Funktion scannen, um nach Parametern zu suchen, die nicht mit beginnen -
, den Test anhalten --
und dann sicherstellen, dass nur noch ein Parameter übrig ist.