gpt4 book ai didi

linux - Unix shell 脚本如何测试所有数组值是否等于特定值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:04 25 4
gpt4 key购买 nike

我有三个数组变量,比如 变量[1]=1 变量[2]=1 变量[3]=1现在我想使用 if 命令检查所有这三个数组变量是否等于 1。

我试过类似的东西

if [[ ${var[@] == 1 ]]; then
echo "Yes"
else
echo "No"
fi

上面代码的结果应该是 Yes,但我得到的答案是 No。

谁能帮我解决这个问题?

最佳答案

${var[@]} 将扩展为 1 1 1 这绝对等于 1.

你可以使用类似的东西:

rc=Yes
for val in ${var[@]} ; do
if [[ ${val} != 1 ]]; then
rc=No
fi
done
echo $rc

或更简洁:

rc=Yes
for v in ${var[@]}; do [[ $v == 1 ]] || rc=No; done
echo $rc

关于linux - Unix shell 脚本如何测试所有数组值是否等于特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27031551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com