Bash CD в каталог, просто введя его имя

252
Bemmu

Есть ли способ получить bash для cd в каталог по умолчанию, если я просто введу имя каталога?

Прямо сейчас я получаю:

~ bemmu$ some_directory/ -bash: some_directory/: is a directory 

Я хочу, чтобы это произошло:

~ bemmu$ some_directory/ ~/some_directory bemmu$  

Пытался немного погуглить, но не смог найти ответ. Я нахожусь на " GNU bash, версия 3.2.57 (1) -релиз (x86_64-apple-darwin15) ".

0
Я думаю, что даже если бы он мог быть реализован, как ответ интерпретатора на все или на неопределенные, несуществующие команды, он бы противоречил самим правилам синтаксиса, поэтому его так или иначе не рекомендуют. w17t 7 лет назад 0
Ответ, например, [здесь] (http://unix.stackexchange.com/questions/4262/change-directory-without-typing-cd) (опция autocd). dirkt 7 лет назад 3

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

2
Kamil Maciorowski

Один из комментариев указывает на этот ответ .

Чтобы включить функцию:

shopt -s autocd 

(Вы можете добавить вышеприведенную строку к себе .bashrc.)

Отключить:

shopt -u autocd 
Хорошо бы знать на будущее, но сейчас я на старшей баш. Похоже, это введено в 4.0. Bemmu 7 лет назад 0
1
strobelight

Добавьте это в конец вашего .bashrc файла

try_cd_on_error() { trap trycd ERR } trycd() { trap "" ERR if cd $BASH_COMMAND 2>/dev/null; then pwd trap trycd ERR return fi trap trycd ERR } 

затем запустите новую оболочку bash и введите try_cd_on_error, чтобы настроить ее, затем введите имя каталога.