iTerm2: mensagem de erro esquisita quando tento originar um arquivo de configuração

0

iTerm2 3.0.15
OS X 10.11.6

Eu tentei recentemente configurar meu terminal, após uma instalação limpa. Meu problema é que, quando faço isso, recebo uma mensagem de erro estranha. Eu vou no meu diretório .bash; Nele, eu tenho vários arquivos de configuração, nomeados da seguinte forma: aliases, bash_profile, exports, extras, funções, inputrc, path e prompt.

Quando faço:

source bash_profile

Eu recebo esta mensagem de erro:

-bash: book: command not found

Eu recebo exatamente a mesma mensagem de erro em todos os arquivos de configuração.

Tenho 2 problemas:

  1. meu arquivo bash_profile não é originado, como qualquer outro arquivo de configuração que eu tente

  2. Tenho certeza de que é fundamental configurar meu terminal, mas não entendo o que a mensagem de erro realmente significa. Eu entendo que há um problema com o comando book , mas não consigo obter informações valiosas sobre ele.

Coisas que tentei:

  • Comandos de terminal: man book , book --help ou help book me disseram que o comando book não existe ou não tem uma entrada manual. Apenas info book me deu um resultado, mas parece que está mais relacionado ao comando info do que o comando book . E nenhuma menção a qualquer book em meus arquivos de configuração também.

  • A pesquisa do Google "bash: book: comando não encontrado" não retorna muito, claro que muitos "comandos não encontrados", mas a única referência a book é um post no repositório do Github do Bash-it. A maioria das respostas sobre o comando não encontrado é sobre a variável de ambiente PATH, mas mesmo se eu inserir meu caminho manualmente, assim (espero que esta seja a maneira correta):

    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
    

    Depois disso, quando tento novamente um source bash_profile , recebo o mesmo resultado -bash: book: command not found .

  • O terminal.app tem o mesmo problema.

meu arquivo 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" 
    
por Vivien Garcia 28.03.2018 / 13:17

1 resposta

0

Eu finalmente instalei o Bash 4.4.19 via Homebrew e editei as preferências do iTerm para usá-lo. Renomeiei meus arquivos de configuração adicionando um ponto antes do nome e, para minha expiação, funcionou, ou seja, quando obtive manualmente meus arquivos de configuração, o iTerm refletiu as alterações.

Não sei se teria obtido os mesmos resultados renomeando diretamente meus arquivos ou se a alteração induzida pela nova versão do Bash é a razão pela qual ela finalmente funcionou. Eu não sei bash muito bem, mas suponho que há uma configuração padrão que foi de alguma forma confuso, e usando uma nova instalação de uma nova versão com sua própria configuração padrão próprio fez o suficiente para trabalhar .

Após algum uso, percebi que o iTerm não carregaria automaticamente o arquivo .bash_profile na inicialização. Felizmente, eu encontrei uma solução: nas preferências do aplicativo, onde você pode especificar onde encontrar o executável, você pode adicionar um comando para executar no lançamento. source ~/.bash_profile fará o trabalho até que eu encontre uma correção melhor.

    
por 28.03.2018 / 19:55