In diesem Zusammenhang empfehle ich die Verwendung von histverify in bash. Fügen Sie dies in Ihre ~ / .bashrc ein:
shopt -s histverify
Dies veranlasst bash, den Befehl nach dem Erweitern von! $ Oder anderen Verlaufsfunktionen auszudrucken, und gibt Ihnen die Möglichkeit, ihn sich anzusehen, bevor Sie erneut die Eingabetaste drücken, um ihn tatsächlich auszuführen. Für mich ist die Überprüfung der geistigen Gesundheit den gelegentlichen zusätzlichen Tastendruck wert. Ich möchte sicherstellen, dass ich den cd foo
Befehl ausführe, nicht den rm -rf foo
...
Ich benutze den Ctrl-RAnsatz auch häufig Alt-.(was gut zu dem von Ihnen beschriebenen Szenario passt). Ich werde! $ Gelegentlich verwenden.
Dies sind sehr nützliche Allzwecktechniken.
Aber um Ihre spezifische Frage anzusprechen:
Das Erstellen eines Verzeichnisses und das direkte Einspielen von CDs in dieses Verzeichnis ist eine so häufig vorkommende Kombination, dass es nützlich ist, eine Funktion zu haben, um es zusammenzufassen.
function mcd {
local newdir='_mcd_command_failed_'
if [ -d "$1" ]; then # Dir exists, mention that
echo "$1 exists..."
newdir="$1"
else
if [ -n "$2" ]; then # We've specified a mode
command mkdir -p -m $2 "$1" && newdir = "$1"
else # Plain old mkdir
command mkdir -p "$1" && newdir="$1"
fi
fi
builtin cd "$newdir" # No matter what, cd into it
}
Verwendung: mcd thisismyfolder
cd this<TAB>