BASH语法错误-[:缺少`]'

麦考特2364

我是Bash编程的新手,可能真的很傻。

基本上,我正在编写一段脚本来ping通传入的IP地址,它将从中获取传输的数据包,并根据丢失的数据包数量返回错误或通过消息。

但是,每当我从终端运行脚本时,都会不断收到消息-

./ipGatewayCheck.sh: line 13: [: missing]'`

这是我的代码:

#!/bin/bash

healthy_status=0

warning_status=10

critical_status=100

for gateway in $@

do
RESULT=`ping -q -c 10 $gateway | grep 'packets transmitted' | awk '{print $6}' | tr -d "%"`
echo "$RESULT"
if [ $RESULT -eq $healthy_status ]; then
  echo "No Issue - IP Address is pinging"
elif [ $RESULT -ge $warning_status && -le $critical_status ]; then
  echo "Warning - Issue with packet loss on this IP Address"
elif [ $RESULT -eq $critical_status ]; then
  echo "Critical - 100% packet loss on this IP Address"
fi

done

任何帮助将不胜感激。

阿努巴瓦

您需要使用[[]]才能&&在方括号内使用

if [[ "$RESULT" -eq "$healthy_status" ]]; then
  echo "No Issue - IP Address is pinging"
elif [[ "$RESULT" -ge "$warning_status" && "$RESULT" -le "$critical_status" ]]; then
  echo "Warning - Issue with packet loss on this IP Address"
elif [[ "$RESULT" -eq "$critical_status" ]]; then
  echo "Critical - 100% packet loss on this IP Address"
fi

另外,您也可以在BASH中使用(())

if (( RESULT == healthy_status )); then
  echo "No Issue - IP Address is pinging"
elif (( RESULT == warning_status && RESULT < critical_status )); then
  echo "Warning - Issue with packet loss on this IP Address"
elif (( RESULT == critical_status )); then
  echo "Critical - 100% packet loss on this IP Address"
fi

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

缺少语法错误

来自分类Dev

Javascript语法错误-缺少)

来自分类Dev

语法错误:在“ <”之前缺少“,”

来自分类Dev

TSQL 语法错误:缺少“if”

来自分类Dev

verilog错误:语法错误-是否缺少'::'?

来自分类Dev

语法错误:Javascript中缺少指数

来自分类Dev

SQL语法错误:“缺少右括号”

来自分类Dev

语法错误:Javascript中缺少指数

来自分类Dev

MySQL语法错误:我缺少什么?

来自分类Dev

语法错误:缺少:属性ID之后

来自分类Dev

函数的语法错误-缺少参数

来自分类Dev

语法错误:缺少; 声明前

来自分类Dev

JavaScript 语法错误:缺少正式参数

来自分类Dev

js 语法错误:缺少 ) 参数后

来自分类Dev

错误C2143:缺少语法错误:缺少';' 前 '*'

来自分类Dev

错误C2143:语法错误:缺少';' 在“使用”之前

来自分类Dev

错误C2143:语法错误:缺少';' 在“使用”之前

来自分类Dev

错误C2143:语法错误:缺少';' 在'<'C ++之前

来自分类Dev

错误 C2143:语法错误:在“const”之前缺少“,”

来自分类Dev

Makefile语法错误。缺少分隔符

来自分类Dev

语法错误:在const声明Firefox 50中缺少=

来自分类Dev

参数列表后语法错误:缺少)

来自分类Dev

Qt C ++ C2143:语法错误:缺少';' 在“ *”之前

来自分类Dev

AJAX调用并清除JSON,但语法错误:缺少; 声明前

来自分类Dev

语法错误:形式参数后缺少)

来自分类Dev

未知的班级?C2143语法错误:缺少“;” 在“ *”之前

来自分类Dev

SQL:语法错误(缺少运算符)

来自分类Dev

SQL存储过程语法错误缺少“结束”

来自分类Dev

为什么会出现语法错误:缺少';' 在“ *”之前

Related 相关文章

热门标签

归档