尝试为 ping 制作 bash 脚本

尝试为 ping 制作 bash 脚本

下面的脚本不起作用。任何帮助,将不胜感激

for host in `cat db_hosts_imsi.txt` ; do "ping6 $host"; done
-bash: ping6 2606:ae00:3001:8311:172:16:244:1d: command not found
-bash: ping6 2606:ae00:3001:8311:172:16:244:45: command not found
-bash: ping6 2606:ae00:3001:8311:172:16:244:54: command not found

答案1

像这样:

while IFS= read -r host; do
    ping6 "$host"
done < db_hosts_imsi.txt

主要问题是同时引用命令和参数。

要逐行读取文件,请始终使用while循环,而不是for循环。

http://mywiki.wooledge.org/BashFAQ/001

此外,

`命令`

语法在 2020 年已被弃用,取而代之的是这种形式

$(command)

建议使用最新的语法。 $() 内部的反斜杠处理并不令人意外,而且 $() 更容易嵌套。看http://mywiki.wooledge.org/BashFAQ/082

相关内容