![连接并作为参数传递,bash](https://linux22.com/image/35439/%E8%BF%9E%E6%8E%A5%E5%B9%B6%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92%EF%BC%8Cbash.png)
需要删除默认网关。例如,有一个 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'
两种方法都行不通。但是,如果我通过 ssh 进入机器,则可以将其删除。我的猜测是传递 $Gateway 变量有问题。有什么建议么?
答案1
因此,答案是在 ssh 进入机器时使用双引号:
ssh blah@$IP "/sbin/route -v del default gw $Gateway;"