我有一个do while循环,我为自己添加一个变量
while read line
do
let variable=$variable+$someOtherVariable
done
return $variable
当我回显$variable的值时,我没有得到输出…
这是正确的方式添加一些值返回到变量本身(即i = i+j)另外,在bash脚本上下文中,本例中的作用域是什么?
return
返回一个"退出"代码,一个数字,而不是您正在寻找的。你应该做一个echo
问题是变量在作用域外不可见(赋值不会在循环外传播)。
想到的第一种方法是在子shell中运行命令,并强制循环发出变量:variable=$(variable=0; while read line; do variable=$((variable+someOtherVariable)); done; echo $variable)