2

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

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

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

1 ответ1

2

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .