Por ejemplo, si existe un directorio 'blob' y simplemente escribo 'blob[return]', entonces el sistema cd
ingresa al directorio blob por mí.
En Linux (Ubuntu) puedo agregar shopt -s autocd
a mi .bashrc
archivo, pero en OS X esto da un error:-bash: shopt: autocd: invalid shell option name
autocd
fue agregado en bash 4.0. Puede instalar una versión más nueva de bash con Homebrew y luego cambiar el shell de inicio de sesión predeterminado con chsh
:
brew install bash;echo /usr/local/bin/bash|sudo tee -a /etc/shells;chsh -s /usr/local/bin/bash
Después de abrir un nuevo shell de inicio de sesión (o una pestaña de forma predeterminada en Terminal o iTerm 2), echo $BASH_VERSION
debería imprimir algo como 4.2.45(2)-release
.
Terminal e iTerm 2 abren nuevos shells como shells de inicio de sesión de forma predeterminada, por lo que bash lee ~/.bash_profile
pero no ~/.bashrc
. Si no obtiene ~/.bashrc
de ~/.bash_profile
ni nada, agregue shopt -s autocd
a ~/.bash_profile
en lugar de ~/.bashrc
.
La salida de shopt -p
puede ser de alguna ayuda aquí. Imprime una lista de opciones configurables. Lamentablemente, Lion noautocd
es uno de ellos (ver extracto a continuación).
Editar la respuesta de Lauri anterior tiene una solución para actualizar su shell para incluirautocd
$ shopt -p
shopt -u cdable_vars
shopt -u cdspell
shopt -u checkhash
shopt -s checkwinsize
shopt -s cmdhist
shopt -u compat31
shopt -u dotglob
shopt -u execfail
shopt -s expand_aliases
shopt -u extdebug
shopt -u extglob
shopt -s extquote
shopt -u failglob
shopt -s force_fignore
shopt -u gnu_errfmt
shopt -u histappend
shopt -u histreedit
shopt -u histverify
shopt -s hostcomplete
shopt -u huponexit
shopt -s interactive_comments
shopt -u lithist
shopt -s login_shell
shopt -u mailwarn
shopt -u no_empty_cmd_completion
shopt -u nocaseglob
shopt -u nocasematch
shopt -u nullglob
shopt -s progcomp
shopt -s promptvars
shopt -u restricted_shell
shopt -u shift_verbose
shopt -s sourcepath
shopt -u xpg_echo
herrero
sudo port install bash
en su paso 1 también funciona.Michael Durrant
Lrí
bash -version
sería la primera versión en $PATH. ¿Lo intentasteecho $BASH_VERSION
?Michael Durrant
Lrí
/usr/bin/login
ologin -fp $USER
en las preferencias?Michael Durrant
Michael Durrant
Lrí
/usr/bin/local/bash
sin--login
,.bash_profile
no está cargado.Michael Durrant
Michael Durrant
bash --version
dice3.2.51(1)
después de unbrew install bash
dicho4.2.45 already installed
Lrí
/bin
está antes/usr/local/bin
en el camino,bash --version
es como/bin/bash --version
. Pruebaecho $BASH_VERSION
en su lugar. ¿Agregasteshopt -s autocd
a~/.bash_profile
o~/.bashrc
?Michael Durrant