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

288
tonyWaldheim

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

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

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

2

1 ответ на вопрос

2
RobertL

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

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

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