2

Я добавляю пару псевдонимов в мой файл .bashrc для некоторых ярлыков, которые я часто использую, среди которых:

alias .="cd /;ls"
alias ..="cd ../;ls"
alias cd="cd $1;ls"
alias ls="clear;pwd;ls"

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

Все эти псевдонимы работают за исключением псевдонима cd. Я пробовал несколько комбинаций, пытаясь перейти в новый каталог и запустить там ls, но мне кажется, что я могу только либо перечислить содержимое каталога и вернуться в старый каталог, либо успешно перейти в каталог, но с сгенерированный список из старого каталога.

Есть ли что-то особенное, что нужно сделать, когда псевдоним cd (или любую команду с аргументами) в bash? Я чувствую, что это относительно простая задача, но я просто что-то упускаю из-за синтаксиса.

1 ответ1

10

У псевдонимов нет параметров, вместо этого попробуйте использовать функцию

cd() { builtin cd "$1" ; ls ; }

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