Automatisches Auflisten des Verzeichnisinhalts beim Wechseln in das Verzeichnis

Automatisches Auflisten des Verzeichnisinhalts beim Wechseln in das Verzeichnis

Ich bin ein großer Fan der Datei ~/.bash_aliases und versuche, den cdBefehl 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 commandBefehl weist die Shell an, nur die integrierte Version des cdBefehls zu verwenden, nicht die Funktion. Dies ist notwendig, um Rekursion in der Funktion zu vermeiden:

cd() {
    command cd "$1" && ls
}

verwandte Informationen