Verifique se o shell de login em que você está não tem um alias ou um% diferente% co_de dependendo se você está conectado via PATH
ou ssh
. Compare isso de cada maneira:
type -a bash
Pode haver algum código condicional em um dos seguintes:
-
telnet
-
/etc/profile
-
/.bash_profile
-
~/.bash_login
-
~/.profile
Isso define o ~/.bashrc
de forma diferente ou cria um alias dependendo se você está logado via PATH
ou ssh
. O telnet
poderia apontar para diferentes versões do Bash que são compiladas com opções diferentes. Um alias poderia ser algo como PATH
.
Se você alias bash='bash -i'
como Nikolaidis sugere, isso só mostrará o que está definido em echo $SHELL
como seu shell de login. Pode ser mais confiável usar /etc/passwd
. Se por algum motivo você estiver obtendo um shell diferente do Bash, será necessário verificar seus arquivos e ambiente de inicialização para ver se o ps
ou aliases são diferentes. Geralmente, no entanto, seu shell interativo não deve afetar a maneira explícita de chamar PATH
.
E você está certo sobre isso:
As near as I can tell this is the correct behaviour given that the shell is non-interactive in both cases (it is invoked with -c).