Eu tenho servidores Linux gêmeos que devem ser configurados de forma idêntica, no entanto, os comandos ssh para um deles estão falhando para comandos que exigem um caminho especificado em ~ / .bashrc. Por exemplo, eu posso usar um comando como pwd
interativo e através do ssh, mas se eu tentar executar um programa localizado em uma pasta bin do aplicativo, ele funcionará apenas em um shell interativo para um dos servidores.
O arquivo / etc / profile e / etc / environment nos dois servidores são idênticos; no entanto, $ BASH_ENV está definido como ~ / .bashrc no servidor que está funcionando corretamente. Quero definir $ BASH_ENV no servidor que não está funcionando, mas prefiro configurá-lo no mesmo local em que está definido no servidor em funcionamento. Quais são os locais que o Linux executará no momento de um logon não interativo, como um comando ssh de outro computador?
edit: A linha em / etc / passwd para o usuário especifica / bin / bash nos dois servidores. O arquivo ~ / .bash_profile para os dois servidores é idêntico e contém if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
. A única diferença entre os sistemas é que $ BASH_ENV é uma sequência nula no servidor que não está funcionando, e não consigo encontrar onde foi definido no servidor que está funcionando.
edit 2: O arquivo ~ / .ssh / environment nos dois servidores possui BASH_ENV = ~ / .bashrc
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi