0

当我通过 bash 脚本运行以下命令时,它会失败,但是如果我复制每个回显的语句并将它们粘贴到终端中,它就可以工作......

networksetup -listallntworkservices | while read line; do networksetup -setautoproxy '"'$line'"' http://etc...

理想情况下,我只想为名称中包含“以太网”或“Wi-fi”的网络服务运行上述命令。

4

1 回答 1

0

因为我不知道您的命令的输入是什么:尝试'"'$line'"'通过"$line"or更改"'$line'"

为避免在 case 变量中包含空格的 shell 扩展,在将参数传递给命令时,始终使用双引号变量。

如果变量内部需要双引号,这应该有效:"\"$line\""

过滤与以太网或 Wi-fi 匹配的线路

networksetup -listallntworkservices |
  while read line; do
    if [[ $line =~ (Ethernet|Wi-fi) ]]; then
      networksetup -setautoproxy "$line" http://etc.
    fi
  done
于 2012-10-24T18:15:58.260 回答