Ich bin ein großer Fan der Datei ~/.bash_aliases und versuche, den cd
Befehl so zu gestalten, dass er den Inhalt eines Verzeichnisses automatisch auflistet, wenn ich dorthin wechsle.
In meiner .bash_aliases-Datei habe ich abgelegt alias cd='cd $1 && ls .'
, die Datei gespeichert und dann die Datei als Quelle verwendet, um sie zu laden. Wenn ich jetzt ausführe cd /
, erhalte ich die erwartete Ausgabe, aber mein Verzeichnis ändert sich nicht. Ich bleibe in meinem Home-Verzeichnis.
Jede Hilfe wird sehr geschätzt.
Antwort1
Mit einem Alias ist dies eigentlich nicht möglich, da Aliase keine Befehlszeilenargumente verwenden.
Sie können dies mit einer Shell-Funktion und dem integrierten Befehl namens tun command
. Der command
Befehl weist die Shell an, nur die integrierte Version des cd
Befehls zu verwenden, nicht die Funktion. Dies ist notwendig, um Rekursion in der Funktion zu vermeiden:
cd() {
command cd "$1" && ls
}