Linux - SSH连接远程服务器直接执行command时PATH不全解决方案
non-interactive mode下PATH不全
ssh username@desktop.domain ‘command’这种是典型的non-interactive shell,PATH不全.
原因
Linux系统中一种常用的判断是否是交互shell的方式就是通过PS1变量,虽然还有其他的方式,不过现在.bashrc中是通过PS1来判断是否为interactive mode。
# .bashrc文件
# If not running interactively, don't do anything
[ -z "PS1" ] && return
解决方案
将必要的export PATH的声明,全部移到[ -z “PS1” ] && return 之前。保证在non-interactive mode下,PATH的设置也都会生效。
微信公众号
