iTerm2: mensaje de error extraño cuando intento obtener un archivo de configuración

iTerm2: mensaje de error extraño cuando intento obtener un archivo de configuración

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:

  1. mi archivo bash_profile no tiene origen, como cualquier otro archivo de configuración que intento

  2. 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 bookcomando pero no puedo obtener ninguna información valiosa al respecto.

Cosas que probé:

  • Comandos de terminal: man book, book --helpo help bookme dijeron que el bookcomando no existe o no tiene una entrada manual. Solo info bookme dio un resultado pero parece que está más relacionado con el infocomando que con el bookcomando. Y tampoco se menciona ninguno booken 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 bookes 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_profileHaré el trabajo hasta que encuentre una solución mejor.

información relacionada