Tengo dos servidores Linux que deben configurarse de manera idéntica, sin embargo, los comandos ssh para uno de ellos fallan para los comandos que requieren una ruta que se especifica en ~ / .bashrc. Por ejemplo, puedo usar un comando como pwdinteractivamente y a través de ssh, pero si intento ejecutar un programa que se encuentra en una carpeta bin de la aplicación, solo funciona en un shell interactivo para uno de los servidores.
El archivo / etc / profile y / etc / environment en ambos servidores son idénticos, sin embargo, $ BASH_ENV está configurado en ~ / .bashrc en el servidor que funciona correctamente. Quiero establecer $ BASH_ENV en el servidor que no funciona, pero preferiría configurarlo en la misma ubicación que está configurado en el servidor de trabajo. ¿En qué lugares se ejecutará Linux en el momento de un inicio de sesión no interactivo, como un comando ssh de otra computadora?
editar: la línea en / etc / passwd para el usuario especifica / bin / bash en ambos servidores. El archivo ~ / .bash_profile para ambos servidores es idéntico y contiene if [ -f ~/.bashrc ]; then . ~/.bashrc; fi. La única diferencia entre los sistemas es que $ BASH_ENV es una cadena nula en el servidor que no funciona, y no puedo encontrar dónde se ha establecido en el servidor que funciona.
editar 2: el archivo ~ / .ssh / environment en ambos servidores tiene BASH_ENV = ~ / .bashrc
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi