SSH:从远程服务器本地使用远程Bash/KSH源命令集变量

时间:2020-01-09 10:42:13  来源:igfitidea点击:

如何在远程源bash shell脚本中使用本地设置的变量?
代码是:

user @ slave $source ssh user @ master" /service/dyn.master.setenv.sh --mode = slave"
echo $var

var未设置,并且出现各种错误。

如何做bash脚本文件的远程源(来自master.example.com),并在slave.example.com上本地设置shell变量?

您需要使用eval或者source命令来解决问题:

source

或者

eval $(ssh user@master cat /path/to/varfile)

例子

如下所示在主服务器上创建名为/tmp/foo的文件master.example.com:

JAIL=/lighttpd
PHP=/opt/bin/php5-cgi
MINIMAIL=/opt/bin/chroot-sendmail

在名为slave.example.com的服务器/工作站上执行以下命令(请注意,[user @ slave~] $是提示符):

[user@slave ~]$ source

或者

[user@slave ~]$ eval $(ssh [email protected] cat /tmp/foo)
[user@slave ~]$ echo "$JAIL $PHP $MINIMAIL"