バックグラウンドにwhileループを入れてcount値を増やそうとしますが、バックグラウンドwhileループはcount変数を更新しません。
#!/bin/bash
count=0
((count++))
echo " External $count"
while [ $count -ne 0 ]
do
echo "Inside $count.. sleeping 5"
sleep 5
done &
sleep 10
((count++))
echo " External $count"
sleep 20
((count--))
((count--))
wait
出力:
External 1
Inside 1.. sleeping 5
Inside 1.. sleeping 5
External 2
Inside 1.. sleeping 5
Inside 1.. sleeping 5
Inside 1.. sleeping 5
予想出力:
External 1
Inside 1.. sleeping 5
Inside 1.. sleeping 5
External 2
Inside 2.. sleeping 5
Inside 2.. sleeping 5
Inside 2.. sleeping 5