
iTerm2 3.0.15
OS X 10.11.6
Intenté recientemente configurar mi terminal, después de una instalación limpia. Mi problema es que cuando lo hago me sale un mensaje de error raro. Voy a mi directorio .bash; En él tengo varios archivos de configuración, llamados de la siguiente manera: alias, bash_profile, exportaciones, extras, funciones, inputrc, ruta y símbolo del sistema.
Cuando lo hago:
source bash_profile
Recibo este mensaje de error:
-bash: book: command not found
Recibo exactamente el mismo mensaje de error con cada archivo de configuración.
Tengo 2 problemas:
mi archivo bash_profile no tiene origen, como cualquier otro archivo de configuración que intento
Estoy bastante seguro de que es fundamental para configurar mi terminal pero no entiendo qué significa realmente el mensaje de error. Entiendo que hay un problema con ese
book
comando pero no puedo obtener ninguna información valiosa al respecto.
Cosas que probé:
Comandos de terminal:
man book
,book --help
ohelp book
me dijeron que elbook
comando no existe o no tiene una entrada manual. Soloinfo book
me dio un resultado pero parece que está más relacionado con elinfo
comando que con elbook
comando. Y tampoco se menciona ningunobook
en mis archivos de configuración.La búsqueda en Google "bash: libro: comando no encontrado" no arroja mucho, por supuesto, muchos "comando no encontrado", pero la única referencia
book
es una publicación en el repositorio Github de Bash-it. La mayoría de las respuestas sobre el comando no encontrado son sobre la variable de entorno PATH, pero incluso si ingreso mi ruta manualmente, así (espero que esta sea la forma correcta):export PATH=~/.rbenv/shims:/usr/local/Cellar:/usr/local/bin:/usr/local/sbin:/usr/local/bin/flake8:/usr/local/bin/git:/usr/bin:/bin:/usr/sbin:/sbin
Después de eso, cuando lo intento nuevamente
source bash_profile
, obtengo el mismo resultado-bash: book: command not found
.Terminal.app tiene el mismo problema.
mi archivo bash_profile:
#--------------------------------------------------------------------------#
# B A S H _ P R O F I L E
#--------------------------------------------------------------------------#
# Load .bashrc if it exists
test -f ~/.bashrc && source ~/.bashrc
# Load the shell dotfiles, and then some:
# * ~/.path can be used to extend `$PATH`.
# * ~/.extra can be used for other settings you don’t want to commit.
for file in ~/.bash/{path,prompt,exports,aliases,functions,extra,inputrc}; do
[ -r "$file" ] && [ -f "$file" ] && source "$file";
done;
unset file;
# Enable iTerm 2 Shell Integration
source ~/.iterm2_shell_integration.`basename $SHELL`
# Case-insensitive globbing (used in pathname expansion)
shopt -s nocaseglob;
# Append to the Bash history file, rather than overwriting it
shopt -s histappend;
# Autocorrect typos in path names when using `cd`
shopt -s cdspell;
# Do not autocomplete when accidentally pressing Tab on an empty line.
shopt -s no_empty_cmd_completion
# Enable tab completion for `g` by marking it as an alias for `git`
if type _git &> /dev/null && [ -f /usr/local/etc/bash_completion.d/git-completion.bash ]; then
complete -o default -o nospace -F _git g;
fi;
# Add tab completion for many Bash commands
#if which brew > /dev/null && [ -f "$(brew --prefix)/share/bash-completion/#bash_completion" ]; then
# source "$(brew --prefix)/share/bash-completion/bash_completion";
#elif [ -f /etc/bash_completion ]; then
# source /etc/bash_completion;
#fi;
# Thanks to @tmoitie, adds more tab completion for bash,
# also when hitting tab twice it will show a list.
#if [ -f $(brew --prefix)/etc/bash_completion ]; then
# . $(brew --prefix)/etc/bash_completion
#fi
# R U B Y
# Ensure rbenv will be used first
# eval "$(rbenv init -)"
# test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"
Respuesta1
Finalmente instalé Bash 4.4.19 a través de Homebrew y edité las preferencias de iTerm para usarlo. Cambié el nombre de mis archivos de configuración agregando un punto antes del nombre y, para mi sorpresa, funcionó, es decir, cuando obtuve manualmente mis archivos de configuración, iTerm reflejó los cambios.
No sé si habría obtenido los mismos resultados cambiando directamente el nombre de mis archivos o si el cambio inducido por la nueva versión de Bash es la razón por la que finalmente funcionó. No conozco muy bien bash, pero supongo que hay una configuración predeterminada que de alguna manera se estropeó y se usa una instalación nueva de una nueva versión con supropioLa configuración predeterminada ha hecho lo suficiente para funcionar.
Después de un poco de uso, me di cuenta de que iTerm no cargaría automáticamente el archivo .bash_profile al iniciarse. Afortunadamente, encontré una solución: en las preferencias de la aplicación, donde puedes especificar dónde encontrar el ejecutable, puedes agregar un comando para ejecutar en el inicio. source ~/.bash_profile
Haré el trabajo hasta que encuentre una solución mejor.