1

我正在尝试创建一个 bash 函数,它将远程 VPS 上的 IP 列入白名单:

function whitelist-ip () { ssh vps-01 '/usr/bin/sudo /sbin/iptables -v -I INPUT 1 -s $1 -j ACCEPT'; }

[jdorfman@mba.local]:~$ 白名单-ip 192.0.43.10

错误的论点“接受”

尝试 iptables -h' 或 'iptables --help' 以获取更多信息。

它在 CLI 中工作:

[jdorfman@mba.local]:~$ ssh vps-01 '/usr/bin/sudo /sbin/iptables -v -I INPUT 1 -s 192.0.43.10 -j ACCEPT'

ACCEPT all opt -- in * out * 192.0.43.10 -> 0.0.0.0/0

4

1 回答 1

3

您硬引用了命令,因此$1不会扩展。改用软引号:

 function whitelist-ip () { ssh vps-01 "/usr/bin/sudo /sbin/iptables -v -I INPUT 1 -s $1 -j ACCEPT"; }
于 2012-07-10T18:12:15.347 回答