接続して引数として渡す、bash

接続して引数として渡す、bash

デフォルトゲートウェイを削除する必要があります。たとえば、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;"

おすすめ記事