在 Bash 中定义和增加变量

在 Bash 中定义和增加变量

我有类似这样的事情:

declare -r constant1=0
declare -r constant2=0

for xx in 1 2 3 4 5 6 7 8 9 10
do  
    constant1=$((constant1 + 1))
    for yy in 8 7 3 9 3 9 2 8 4 4
    do
        constant2=$((constant2 + 1))
        if [ $constant1 == $constant2 ]; then
            something here bla bla
        fi
    done
done

但它给了我一个错误,即:

line 6: constant1: readonly variable

我该如何修复此问题?

基本上,我希望每当 constant1 = constant2 时运行“在这里做一些事情 bla bla”。也就是说,[xx,yy] = [1,8],[2,7] 等

答案1

如果要修改constant1constant2,则不应将它们声明为只读(这样declare -r做会造成这种情况)。如果要操作变量对,则应考虑使用数组:

array1=(1 2 3 4 5 6 7 8 9 10)
array2=(8 7 3 9 3 9 2 8 4 4)

for i in ${!array1[@]}
do
    echo "${array1[i]}" "${array2[i]}"
done

相关内容