Проблема псевдонимов CD в Bash
Я добавляю пару псевдонимов в мой файл.bashrc для некоторых ярлыков, которые я часто использую, среди которых:
alias .="cd /;ls"
alias ..="cd ../;ls"
alias cd="cd $1;ls"
alias ls="clear;pwd;ls"
Эффективный результат заключается в том, что всякий раз, когда я перемещаюсь в новый каталог, окно очищается и отображает новый каталог и его содержимое вверху.
Все эти псевдонимы работают за исключением псевдонима cd. Я пробовал несколько комбинаций, пытаясь перейти в новый каталог и запустить там ls, но кажется, что я могу либо только перечислить содержимое каталога и вернуться в старый каталог, либо успешно перейти в каталог, но с сгенерированный список из старого каталога.
Есть ли что-то особенное, что нужно сделать, когда псевдоним cd (или любую команду с аргументами) в bash? Я чувствую, что это относительно простая задача, но я просто что-то упускаю из-за синтаксиса.
1 ответ
У псевдонимов нет параметров, вместо этого попробуйте использовать функцию
cd() { builtin cd "$1" ; ls ; }