Что мне делать, если я хочу выполнять команду ls каждый раз, когда делаю компакт-диск в любой каталог?

Большую часть времени, когда я делаю команду cd, я также делаю ls, чтобы посмотреть, какие другие файлы или папки находятся в этом каталоге. Поэтому я хочу выполнять ls каждый раз, когда меняю каталог. Я знаю, что могу сделать cd foo && ls, но действительно ли необходимо делать && ls каждый раз?

2
задан 11 July 2012 в 08:23

3 ответа

Есть 2 способа сделать это. Вы можете создать псевдоним, когда LnxSlck опубликовал или другой создает функцию в .bash_aliases

mycd(){ cd "$1" && ls; }
0
ответ дан 11 July 2012 в 08:23

Я использую следующее, которое не требует добавления каких-либо новых команд:

cd() {
  builtin cd "$@"
  local status=$?
  [ $status -eq 0 ] && ls
  return $status
}

Это заставляет cd работать так же, как и раньше, за исключением того, что есть также ls.

Обратите внимание на следующие последствия: Другие примеры не допускают аргументов для cd. Хотя, по общему признанию, эти аргументы редки, это 100% -ная совместимая замена. И поскольку он возвращает состояние выхода cd, он не нарушает сценарии.

1112 Здесь есть одна оговорка. Если вам когда-либо не не нужна эта функциональность, вам нужно позвонить builtin cd. Но мой опыт использования этой функции в течение многих лет заключается в том, что такие случаи встречаются редко, в основном в сценариях, и удобство отсутствия необходимости печатать что-то длинное, как mycd каждый раз, когда вы хотите изменить каталоги, значительно перевешивает небольшой недостаток ввода builtin cd однажды в голубой луне.

0
ответ дан 11 July 2012 в 08:23

Вы можете сделать alias для cd и добавить его в свой * bash_profile * или bashrc , что-то вроде:

alias 'mycd'='cd $1 && ls'

положить это в свой .bashrc. Однако рекомендуется хранить все ваши псевдонимы в файле ~/bash_aliases, поэтому создайте файл, используя touch ~/.bash_aliases, если его еще нет, и используйте его для хранения всех ваших псевдонимов .

0
ответ дан 11 July 2012 в 08:23

Другие вопросы по тегам:

Похожие вопросы: