gpt4 book ai didi

linux - Bash - 在命令中使用变量不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:09 24 4
gpt4 key购买 nike

我不确定为什么这不起作用。 (我研究了一下,一无所获。)

我正在尝试 ping 一个 IP 并获取结果。然后从结果中得到平均时间和丢包

PING=$(ping -c $AMOUNT -s $SIZE $IP)
AVG_TIME=$($PING | tail -1 | awk '{print $4}' | cut -d '/' -f 2)
PACKET_LOSS=$($PING | grep -oP '\d+(?=% packet loss)')

错误:

PING: command not found

如果我将 PING 命令放入其他每个命令中,它会起作用,但这意味着它会针对每个未从一次 ping 结果中获取值的命令执行一次 ping。

我已经看过很多次了,但我想我在这里遗漏了一些东西。

最佳答案

您想从 ping 命令获取输出。所以将其更改为:

AVG_TIME=$(echo "$PING" | tail -1 | awk '{print $4}' | cut -d '/' -f 2)
PACKET_LOSS=$(echo "$PING" | grep -oP '\d+(?=% packet loss)')

注意上面的 echo 命令。

使用当前代码,它试图执行您第一个命令的输出,这不是您想要的。

关于linux - Bash - 在命令中使用变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16527197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com