Псевдоним BASH пустой к 'cd'

18

Я счастливый пользователь BASH. Я не хочу переключаться на другую оболочку (в данном случае ZSH).

ZSH имеет эту возможность изменять каталог без необходимости ввода:

cd /to/a/directory

Каким будет правильный псевдоним (или, может быть, функция BASH), чтобы сменить каталоги, не набрав cd ?

В приведенном выше примере перемещение в / в каталог / a будет выполняться следующим образом:

/to/a/directory

Я пробовал:

alias ''='cd '
alias ""='cd '
alias " "='cd '

Любые идеи?

    
задан alfredodeza 20.05.2009 в 22:31
источник
  • Если пустые псевдонимы были разрешены, как в ваших первых двух попытках, и если он работал так, как вы намеревались, то команды ALL превратились бы в команды «cd». –  Rob Kennedy 20.05.2009 в 23:24

2 ответа

31

Это опция, добавленная в версии 4.0 Bash . Вы можете установить его с помощью:

$ shopt -s autocd

Поместите это в файл .bashrc , чтобы он всегда включался.

    
ответ дан mipadi 20.05.2009 в 23:09
  • Спасибо, мне кажется, мне придется подождать по этому поводу: bash: shopt: autocd: недопустимое имя опции оболочки –  alfredodeza 20.05.2009 в 23:21
  • Я добавил информацию о версии к вопросу и связался с журналом изменений (это в разделе 3 «Новые функции в Bash», пункт d) –  dbr 21.05.2009 в 05:32
  • @alfredodeza Ну, вы могли бы сделать shopt -s autocd 2> / dev / null. Тогда вы можете получить удовлетворение от наличия команды без раздражения сообщения об ошибке. :) –  Sildoreth 12.03.2015 в 04:25
6

Я не думаю, что вы сможете иметь «пустой» псевдоним, на самом деле это не имеет смысла.

В версии bash 4.0 добавлен параметр autocd , который устанавливается при запуске shopt -s autocd (как ответил mipadi)

В предыдущих версиях bash такой опции не существует. Это раздражает.

    
ответ дан dbr 20.05.2009 в 22:57
  • autocd в сторону, возможно, смог получить это, используя ловушки, которые могут стать уродливыми, но я думаю, что это будет работать в некоторой степени ... –  osirisgothra 16.02.2014 в 15:35