远程主机已配置为密钥登录(可参考文档https://wangdoc.com/ssh/key进行配置)
ssh console zkServer.sh -h: command not found
image.png

如果登录进远程主机,再执行命令

1 ssh console
2 zkServer.sh -h

image.png

分析:
1 zkServer.sh command能够访问,是因为配置了环境变量ZK_HOME
对比上面两种场景,发现ssh远程执行命令,env相关环境变量缺失
ssh远程执行命令:
image.png
ssh进入主机后,执行命令
image.png

从这点,不同的方式进入,shell环境变量是不一样的
已知,ZK_HOME环境变量配置在 .bashrc file. 那么ssh remote execute command 没有载入 .bashrc file


各种场景,环境变量文件是如何加载的呢?
参考:http://cn.linux.vbird.org/linux_basic/0320bash_4.php#settings...
那么针对我们环境的实际情况,ssh进入主机
1 /etc/profile
2 .profile
3 .bashrc
image.png
image.png

ssh remote execute command:
参考文档:https://feihu.me/blog/2014/env-problem-when-ssh-executing-com...

这个文档含义是BASH_ENV文件,但是我尝试不生效, 继续探索中


时二少
1 声望0 粉丝

犹豫一次是思考