如何在bash while循环中进行算术运算?

如何在bash while循环中进行算术运算?,bash,Bash,我正在启动一个脚本,知道这个while循环的语法不正确,但我很好奇是否有任何方法可以在bash中执行这种类型的条件语句 #Network Bandwidth Utilization line=$(ifstat | head -n 7) echo $line interface=$(echo line | cut -f 1 -d ' ') RXPktsRate=$(echo line | cut -f 2 -d ' ') TXPktsRate=$(echo line | cut -f 3 -d

我正在启动一个脚本,知道这个while循环的语法不正确,但我很好奇是否有任何方法可以在bash中执行这种类型的条件语句

#Network Bandwidth Utilization

line=$(ifstat | head -n 7)
echo $line

interface=$(echo line | cut -f 1 -d ' ')
RXPktsRate=$(echo line | cut -f 2 -d ' ')
TXPktsRate=$(echo line | cut -f 3 -d ' ')
RXDataRate=$(echo line | cut -f 4 -d ' ')
TXDataRate=$(echo line | cut -f 5 -d ' ')

echo $interface $RXPktsRate $TXDataRate

while [ (( $SECONDS % 5 )) == 0 ] && [ $SECONDS <= 900 ];do
    echo hi
done
#网络带宽利用率
行=$(ifstat |头-n 7)
回音$线
接口=$(回音线|切割-f 1-d'')
RXPktsRate=$(回音线|切割-f 2-d'')
TXPktsRate=$(回音线|切割-f 3-d'')
RXDataRate=$(回音线|切割-f 4-d'')
TXDataRate=$(回音线|切割-f 5-d'')
echo$interface$RXPktsRate$txdata

虽然[($SECONDS%5))==0]&&($SECONDS您的脚本非常接近正确。您可以通过使用以下格式放置整数表达式来执行算术运算
$((expr))
,例如
echo$((5%3))
输出2


相反,您的脚本非常接近正确。您可以通过使用以下格式放置整数表达式来执行算术运算
$((expr))
,例如
echo$((5%3))
输出2


对于bash中的算术测试,您通常不希望使用
[
测试内置项,而是依赖双括号中更复杂的算术计算,即

while ((SECONDS % 5 == 0 && SECONDS <= 900)); do
    echo hi
done

while((秒%5==0&&SECONDS对于bash中的算术测试,您通常不希望使用
[
测试内置项,而是依赖于双括号内更复杂的算术计算,即

while ((SECONDS % 5 == 0 && SECONDS <= 900)); do
    echo hi
done
while((秒%5==0&&s)