Автоматически выводить список содержимого каталога при переходе в него

Автоматически выводить список содержимого каталога при переходе в него

Я большой поклонник файла ~/.bash_aliases и пытаюсь заставить команду cdавтоматически выводить список содержимого каталога при переходе в него.

В моем файле .bash_aliases я поместил alias cd='cd $1 && ls .', сохранил файл, а затем указал источник файла для его загрузки. Теперь, когда я запускаю cd /, я получаю ожидаемый вывод, но мой каталог не меняется. Я остаюсь в своем домашнем каталоге.

Буду признателен за любую оказанную помощь.

решение1

С псевдонимом этого сделать не получится, поскольку псевдонимы не используют аргументы командной строки.

Вы можете сделать это с помощью функции оболочки и встроенной команды, называемой command. commandКоманда сообщает оболочке использовать только встроенную версию команды cd, а не функцию. Это необходимо для того, чтобы избежать рекурсии в функции:

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

Связанный контент