연결하여 인수로 전달, 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;"

관련 정보