前提・実現したいこと
Shell Scriptを書いていて「&」を使ってバックグラウンドで並列処理をするときにバックグラウンド側から変数を加算したい。
発生している問題・エラーメッセージ
下のコードだと最後の出力が2にしかならない。
該当のソースコード
bash
1#!/bin/bash 2hoge(){ 3 echo -ne "${COUNT}\c" 4 echo -ne "\r\c" 5 ((COUNT++)) 6} 7COUNT=0 8for NUM in {1..999};do 9 hoge & 10done 11hoge 12sleep 1 13echo "${COUNT}" #最終的に1000になってほしい
試したこと
上のコードなら最後に「COUNT」に1000を足せばそれでもいいんですが、実際に使うときは関数内で足したり足さなかったりifで分岐して別の変数を加算したりしたいので、なんとかバックグラウンド側から変数に干渉したいです。
補足情報(FW/ツールのバージョンなど)
Windows11 WSL2 Ubuntu 20.04LTS
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/20 08:05
2021/11/20 13:19
2021/11/23 06:04