Bash:检查元素是否在数组中
我试图让work成为下一个bash代码,但似乎我做错了:Bash:检查元素是否在数组中,bash,programming-languages,Bash,Programming Languages,我试图让work成为下一个bash代码,但似乎我做错了: hostname=`hostname -s` qaiservers={'v-qai01' 'v-qai02'} for i in ${qaiservers[@]} do if [[ $i = ${hostname} ]]; then echo 1 else echo 0 fi done 当前主机名为v-qai01,应该与验
hostname=`hostname -s`
qaiservers={'v-qai01' 'v-qai02'}
for i in ${qaiservers[@]}
do
if [[ $i = ${hostname} ]]; then
echo 1
else
echo 0
fi
done
当前主机名为v-qai01,应该与验证匹配,但它不匹配:
./run.sh: line 14: v-qai02}: command not found
./run.sh: line 15: }: command not found
多谢各位
固定的:
使其与以下各项协同工作:
hostname=`hostname -s`
qaiservers=("v-qai01" "v-qai02")
#portales={'t1wsyellar01' }
for i in "${qaiservers[@]}"
do
if [ "$i" == "${hostname}" ] ; then
echo "Found"
fi
done
由于此仅使用
[[双括号]]中的=
运算符,使其工作正常
qaiservers=('v-qai01' 'v-qai02')