首先,您没有增加计数器。更改
COUNTER=$((COUNTER))成
COUNTER=$((COUNTER +1))或
COUNTER=$[COUNTER + 1]将增加它。
其次,在您推测时将子shell变量反向传播给被调用者比较困难。子shell中的变量在子shell外部不可用。这些是子进程本地的变量。
解决此问题的一种方法是使用临时文件存储中间值:
TEMPFILE=/tmp/$$.tmpecho 0 > $TEMPFILE# Loop goes here # Fetch the value and increase it COUNTER=$[$(cat $TEMPFILE) + 1] # Store the new value echo $COUNTER > $TEMPFILE# Loop done, script done, delete the fileunlink $TEMPFILE



