我有一个while循环,我在其中添加一个变量
while read line
do
let variable=$variable+$someOtherVariable
done
return $variable
当我回显$ variable的值时,我得不到输出......
这是将某些值添加回变量本身的正确方法(即i = i + j) 此外,在bash脚本的上下文中,这种情况下的范围是什么..
答案 0 :(得分:1)
return
会返回一个“退出”代码,一个数字,而不是您要查找的内容。你应该做echo
。
答案 1 :(得分:0)
问题是变量在范围之外是不可见的(赋值不会在循环外传播)。
首先想到的是在子shell中运行命令并强制循环发出变量:
variable=$(variable=0; while read line; do variable=$((variable+someOtherVariable)); done; echo $variable)