"Temporary failure in name resolution" ping ubuntu shell 脚本错误
"Temporary failure in name resolution" error on ping ubuntu shell scripting
我正在尝试 ping 一个 IP 地址并存储发送到一个 IP 地址的 5 个(例如)数据包的平均往返时间。数据包的数量值存储为变量,IP 地址来自文件。这是我的代码
for line in $(ls -1 "$file");
do
avg=$(ping -c $COUNT $line | awk '/avg/ {split([=13=],arr,"/"); print arr[5]}')
echo "$avg"
done
当我在终端中 运行 ping 命令并添加数据包计数和 IP 地址时,该命令有效并且 returns 值,但是当我尝试 运行文件,它 returns 错误消息“ping:文件:名称解析暂时失败”。关于为什么会发生这种情况的任何想法。
- 使用 Ubuntu 18.04 操作系统
- 使用 Shell 脚本(.sh 文件类型)
您正在遍历文件名;没有与服务器名称 file
.
对应的 IP 地址
You should not use a for
loop in the first place and absolutely not using ls
for anything in scripts and of course you will also want to avoid the useless echo
.
while IFS= read -r line; do
ping -c "$COUNT" "$line" | awk '/avg/ {split([=10=],arr,"/"); print arr[5]}'
done<"$file"
接下来,请先尝试http://shellcheck.net/,然后再寻求人工帮助,并阅读收到的错误消息。
我正在尝试 ping 一个 IP 地址并存储发送到一个 IP 地址的 5 个(例如)数据包的平均往返时间。数据包的数量值存储为变量,IP 地址来自文件。这是我的代码
for line in $(ls -1 "$file");
do
avg=$(ping -c $COUNT $line | awk '/avg/ {split([=13=],arr,"/"); print arr[5]}')
echo "$avg"
done
当我在终端中 运行 ping 命令并添加数据包计数和 IP 地址时,该命令有效并且 returns 值,但是当我尝试 运行文件,它 returns 错误消息“ping:文件:名称解析暂时失败”。关于为什么会发生这种情况的任何想法。
- 使用 Ubuntu 18.04 操作系统
- 使用 Shell 脚本(.sh 文件类型)
您正在遍历文件名;没有与服务器名称 file
.
You should not use a for
loop in the first place and absolutely not using ls
for anything in scripts and of course you will also want to avoid the useless echo
.
while IFS= read -r line; do
ping -c "$COUNT" "$line" | awk '/avg/ {split([=10=],arr,"/"); print arr[5]}'
done<"$file"
接下来,请先尝试http://shellcheck.net/,然后再寻求人工帮助,并阅读收到的错误消息。