在 ssh 中传递变量

在 ssh 中传递变量

我想在 ssh 中传递一个变量。远程操作系统不是 Unix/Linux。它是 Ericsson SmartEdge 操作系统。

newentry.txt seq 10 的内容拒绝 ip 主机 1.2.3.4 任何

我的语法是

ENTRY=`head -1 /scripts/newentry.txt`
ssh [email protected] "configure; context NS; ip access-list NS_OUT; $ENTRY;"

当我运行脚本时,它显示如下`

ENTRY= head -1 $NEWENTRY_PATH ++ head -1 /scripts/zabbix/newentry.txt + ENTRY='seq 50 拒绝 ip 主机 1.2.3.4 任何'

SSH[电子邮件受保护]“上下文 NS;显示 ip 访问列表 NS_OUT”|尾部-2 |头-1 | awk '{$1=$1}1' > $ACL_PATH + ssh[电子邮件受保护]'上下文 NS;显示 ip 访问列表 NS_OUT' + tail -2 + head -1 + awk '{$1=$1}1' [电子邮件受保护]的密码:

awk '{ print "seq '$NEWSEQUENCENUMBER' 拒绝 ip 主机 '$NEWIPSOURCEADDRESS' 任何" }' $ACL_PATH > $NEWENTRY_PATH + awk '{ print "seq 50 拒绝 ip 主机 1.2.3.4 任何" }' /scripts/zabbix/acl .txt sed '1d' $ATTACKERS_PATH > /dev/null + sed 1d /scripts/zabbix/attackers.txt

SSH[电子邮件受保护]'配置;上下文 NS; ip 访问列表 NS_OUT;回声 $ENTRY;"' + ssh[电子邮件受保护]'配置;上下文 NS; ip 访问列表 NS_OUT;回显 $ENTRY;"' [电子邮件受保护]的密码:不匹配 ". printf "%s\n" "$ENTRY" + printf '%s\n' 'seq 50拒绝 ip 主机 1.2.3.4 任何' seq 50 拒绝 ip 主机 1.2.3.4 任何

答案1

如果你使用

ssh [email protected] "~/tools/run_pvt.pl $BUILD_NUMBER"

代替

ssh [email protected] '~/tools/run_pvt.pl $BUILD_NUMBER'

在将命令字符串发送到远程主机之前,您的 shell 会插入 $BUILD_NUMBER。

相关内容