私のスクリプトがfetch_remote_work.sh
ネットワークに接続されているので、非常に遅いです。正常に動作するまで数回実行する必要があります。
./fetch_remote_work.sh
while [ $? -ne 0 ]
do
./fetch_remote_work.sh
done
これは明らかに非常にうまく機能します。しかし、最初に電話する義務は気に入らない./fetch_remote_work.sh
。私はそれを別の言語で知っています。PHP、一つあります。しばらくやってください少なくともループの最初の反復を実行します。いたら本当にきれいだったでしょう。強く打つ
だから私の質問は:私がやっているよりもきちんとした方法がありますか?
答え1
コマンド自体をwhile
構成条件として使用します。
while ! ./fetch_remote_work.sh; do :; done
答え2
何かを実行したい場合~まで戻りコードは0です。
until [ $RANDOM -eq 42 ]
do
echo looking for the answer to life, the universe, and everything
done
(または一行で)
until [ $RANDOM -eq 42 ]; do echo looking for the answer to life, the universe, and everything; done
あなたの例:
until ./fetch_remote_work.sh; do :; done
このループは「何もしません」(実行:
組み込み)~までfetch_remote_work.sh スクリプトは 0 を返します。
答え3
最初の行をに変更し、false
最初の繰り返しが目的の条件を満たすようにします。