erro bash ao iniciar o shell do tmux

0

Quando eu abro um novo shell em tmux , recebo uma mensagem de erro. Esta mensagem de erro não aparece quando inicio um novo shell em GNOME terminal .

O que pode estar em execução tmux na inicialização que preciso verificar?

Isso não vem de ~/.bashrc ou ~/.bash_aliases (acho que obviamente, uma vez que isso não acontece, exceto em tmux . Mas eu verifiquei de qualquer maneira.)

Aqui está o erro:

cut: the delimiter must be a single character
Try 'cut --help' for more information.
complete: usage: complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]
alias ls='ls --color=auto'
cut: the delimiter must be a single character
Try 'cut --help' for more information.
complete: usage: complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]
    
por isomorphismes 23.07.2015 / 21:51

1 resposta

1

Isso pode ter vários motivos:

Você pode ter um alias para tmux , que define opções especiais de linha de comando

ou

tmux em algumas máquinas não inicia um shell de login. Você pode verificar Por que ~ / .bash_profile não é obter fonte ao abrir um terminal? para descobrir mais.

ou

Você pode ter um bloco de código como o seguinte em um dos seus arquivos bash:

if [[ -n "$TMUX" ]]; then
    does something that causes the error
fi

que só será executado quando executado sob o tmux.

ou

Seu .tmux.conf pode ter um erro ou contém instruções do formulário

source-file "/path/to/some.conf"
run-script "/path/to/script"

em que um dos arquivos fornecidos contém o erro. Você poderia tentar executar o script autônomo e ver se obtivesse o mesmo erro.

Para testar o que é carregado, você pode adicionar uma linha como

echo ".bash_profile"

ao seu .bash_profile e uma linha correspondente a qualquer outro arquivo que bash ou sh possa carregar ( .bashrc , .profile , .bash_login ). Em seguida, veja qual desses arquivos é carregado em uma sessão de terminal normal e qual é carregado quando tmux é iniciado.

Você também pode tentar digitar logout se é um shell de login ou não: Se o processo terminar, era um shell de login. Caso contrário, ele dirá que não é. No entanto, atualmente não tenho certeza de como tmux se comportará se não for um shell de login.

Além disso, se você já brincou com arquivos do sistema, talvez também queira verificar

  • /etc/profile
  • /usr/local/etc/tmux.conf

O que também é carregado é ~/.inputrc , mas isso não é executado como um script.

Procure tudo com man bash e man tmux na seção FILES .

    
por 23.07.2015 / 23:19