我正在读一个像
state 100 NULL
operator 2 0 3 NULL
我想将它解析为一个数组行明智地检查它的某些条件所以我实际做的是:
#!/bin/bash
fileLines=$(cat file)
IFS=$'\n'
for line in $fileLines
do
IFS=$' ' read -r -a lineArray <<< $line
echo ${lineArray[@]}
if [[ ${lineArray["state"]} ]] ;
then
echo "hit"
fi
done
但不幸的是,它带着输出回来了
state 100 NULL
hit
operator 2 0 3 NULL
hit
即使我通过使用检查是否相等
if [[ ${lineArray[0]} == "state" ]] ;
它仍然忽略了我给脚本的条件。有没有更好的方法来检查我的数组的条件?