Я большой поклонник файла ~/.bash_aliases и пытаюсь заставить команду cd
автоматически выводить список содержимого каталога при переходе в него.
В моем файле .bash_aliases я поместил alias cd='cd $1 && ls .'
, сохранил файл, а затем указал источник файла для его загрузки. Теперь, когда я запускаю cd /
, я получаю ожидаемый вывод, но мой каталог не меняется. Я остаюсь в своем домашнем каталоге.
Буду признателен за любую оказанную помощь.
решение1
С псевдонимом этого сделать не получится, поскольку псевдонимы не используют аргументы командной строки.
Вы можете сделать это с помощью функции оболочки и встроенной команды, называемой command
. command
Команда сообщает оболочке использовать только встроенную версию команды cd
, а не функцию. Это необходимо для того, чтобы избежать рекурсии в функции:
cd() {
command cd "$1" && ls
}