在bash中连接并传递为参数

时间:2014-12-30 10:19:57

标签: linux bash ssh

需要一些删除默认网关的帮助。 例如,IP 192.168.4.15具有默认网关192.168.4.14。我用gw 10.0.0.1连接到WLAN,之后我想删除以前的gw。

  IFS='.' read -ra IPARR <<< "$IP"
  Gateway="${IPARR[0]}.${IPARR[1]}.${IPARR[2]}.14"
  ssh blah@$IP '/sbin/route -v del default gw $Gateway;'
  #ssh blah@$IP '/sbin/ip route delete $Gateway dev rndis0;'
  #ssh blah@$IP '/sbin/route -n'

两种方式都不起作用。但是,如果我进入机器,就可以将其删除。我的猜测是传递$ Gateway变量有问题。 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如前所述,使用单引号将传递文字字符串$Gateway,而不是您想要的变量值,而是使用双引号

ssh blah@$IP "/sbin/route -v del default gw $Gateway;"