gpt4 book ai didi

bash - 将 bool 表达式的结果存储到变量中

转载 作者:行者123 更新时间:2023-12-03 09:20:50 25 4
gpt4 key购买 nike

是否可以将 bool 表达式的结果连续存储到变量中?

示例

ret=0
for each in aCollection do
executeSomeCommand;
# vvv compare stored value against a returned value and store it again
ret=$ret || $?;
done;
[[ ret = 0 ]] && echo "success"

问题是,如果 $?1,那么 $ret 仍然包含零

ret=0
echo $ret # --> 0
ret=$ret || 1
echo $ret # --> 0 (should be 1)

最佳答案

您遇到操作分组/顺序问题。当你这样做时

ret=$ret || 1

它首先执行ret=$ret,然后获取其结果,并使用1执行||,然后忽略结果的。因此,您所做的分配的唯一部分就是再次将 ret 分配给自身。

你想要做的是$ret || 1 部分并存储结果,因此您需要像

这样的括号
ret=$(($ret || 1))

关于bash - 将 bool 表达式的结果存储到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31652881/

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