我正在尝试处理将在数组中搜索某个变量的脚本。不幸的是,我运行的系统根据当时的其他变量改变了数组的顺序。我知道我正在寻找的前七个字符将是RPT_NUM所以我尝试了以下while循环,但我不断收到错误[:-ne:一元运算符预期
START=5
MYVAR=( $(/usr/sbin/asterisk -rx "rpt showvars 47168"))
#VAR=${MYVAR[3]}
VAR="${MYVAR[START]}"
CURVAR= echo "${VAR:0:7}"
echo $VAR
while ["$CURVAR" -ne "RPT_NUM" ]
do
let START+=1
CURVAR= echo "${VAR:0:7}"
echo "End loop"
done
STATUS=echo "${VAR: -1}"
echo $STATUS
我很新,还在学习,所以任何帮助都会很棒。
答案 0 :(得分:1)
尝试将您的代码更改为以下代码:
#!/usr/bin/env bash
START=5
MYVAR=( $(/usr/sbin/asterisk -rx "rpt showvars 47168"))
#VAR=${MYVAR[3]}
VAR="${MYVAR[START]}"
CURVAR="${VAR:0:7}"
echo $VAR
while [ "$CURVAR" == "RPT_NUM" ]
do
let START+=1
CURVAR="${VAR:0:7}"
echo "End loop"
done
STATUS="${VAR:-1}"
echo $STATUS
while [ "$CURVAR" == "RPT_NUM" ]
CURVAR="${VAR:0:7}"
...
STATUS="${VAR:-1}"