我有一个随机返回R或L的函数。我想根据此函数的输出更改计数器:我想在R出现时增加计数器,当L出现时减少它。
我的问题:计数器不会根据输出功能(R或L)改变,计数器只会减少或仅增加。
#GetsomeLoR is a function returning R or L
function GetsomeLoR() {
set -- "R" "L"
eval echo \$$(expr $RANDOM % 2 + 1)
sleep 0.015
}
return_var=$(GetsomeLoR) # return the output of the function named GetsomeLoR
counter="1"
number_max="60"
while [ $counter -lt $number_max ]; do
GetsomeLoR && sleep 0.1
if [[ $return_var == "L" ]]; then
counter=$[$counter-1]
echo $counter increase
elif [[ $return_var == "R" ]]; then
counter=$[$counter+1]
echo $counter decrease
else
echo error_buddy
fi
done
我的问题:如何根据名为GetsomeLoR的输出函数更改计数器?谢谢!
你没有在循环中捕获GetsomeLoR
的输出。因此,您正在使用它在循环外第一次调用时返回的单个值。
while [ $counter -lt $number_max ]; do
return_var=$(GetsomeLoR)
sleep 0.1