cd a un directorio escribiendo su nombre?

17

Por ejemplo, si existe un directorio 'blob' y solo escribo 'blob [return]', el sistema cd s en el directorio de blob para mí.

En Linux (Ubuntu) puedo agregar shopt -s autocd a mi archivo .bashrc , pero en OS X esto da un error: -bash: shopt: autocd: invalid shell option name

    
pregunta Michael Durrant 03.07.2012 - 17:25

2 respuestas

24

autocd se agregó en bash 4.0. Puedes instalar una versión más reciente 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 manera 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 .

    
respondido por el user495470 03.07.2012 - 19:00
2

La salida de shopt -p puede ser de ayuda aquí. Imprime una lista de opciones configurables. Lamentablemente, en Lion, autocd no es ni uno de ellos (ver extracto a continuación).

Editar La respuesta de Lauri anterior tiene una solución para actualizar tu shell para incluir autocd

$ 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
    
respondido por el ephsmith 03.07.2012 - 18:08

Lea otras preguntas en las etiquetas