我有一个目标AIX6.1服务器,需要在其中执行脚本。
我的目标服务器上的~/.bashrc配置为添加一个变量MACHINE=1
当我ssh服务器并连接时,我有效地查看了我的环境中的~/.bashrc变量:
[user@source ~]$ ssh user@10.10.10.10
[user@target]
$env |grep "MACHINE"
MACHINE=1
[user@target]
$但是当我在ssh中直接执行env命令时,这个变量并没有被设置:
[user@source ~]$ ssh user@10.10.10.10 "env" |grep MACHINE
[user@source ~]$是否需要在服务器上配置更多内容?
发布于 2013-07-05 22:08:18
您有一个选择,那就是让sshd为您设置环境变量。在/etc/sshd_config中
PermitUserEnvironment yes在~/.ssh/environment中
MACHINE=1发布于 2013-07-05 21:33:34
ssh远程命令在非交互式外壳中执行。因此,您的${HOME}/.bashrc、/etc/bashrc不会被读取。
如果希望ssh命令读取环境变量,请将这些变量添加到/etc/profile中。
或者,尝试hacks:
ssh user@10.10.10.10 'source ${HOME}/.bashrc; echo ${MACHINE}'https://stackoverflow.com/questions/17489934
复制相似问题