ソレをどこに置いたらいいか迷ったけど,そもそもソレじゃないかも,って話
$(command) &
なのか $(command &)
なのか,どっちなんだろ?と思った時,手が止まった.
ら.
どうやら,こういうのって駄目みたい.
そうなの?
ちなみに今回,初めから言っておきますと,ハッピーエンドではありません.
この壁は自身が弱者ゆえのものであるかもしれません.
キーワードは,
コマンド置換 $(command)
にバックグラウンドでの実行の制御演算子 &
,直前の処理のプロセス ID を拾う $!
,そして wait
コマンド,と言ったところになるでしょうか.
背景
先日,macOS Sierra がリリースされました.
...秋です(笑)
このイベントを見据え,設定用に用意しているシェルスクリプトを見直している中でのお話.
したかったこと
時間がかかる処理がありました.
したかったことと,そのために使えると考えたもののポイントは,;
- その処理をキチンと待って次の処理に流すようにしたい.
→command &
+$!
+wait
. - しかも,その後の処理のために,出力結果を拾いたい.
→o=$(command)
.
と言うことで,こんな感じになるかと考えました.
o=$(command) & pid=$o wait $pid :
で,「$
はこの(コマンド置換の)括弧の中?外?」と気になったわけです.
o=$(command) &
なのか o=$(command &)
なのか...
ちなみに command &
の使い勝手を知った入り口はこちら.;
» BASH : launch background process and check when it ends - Unix & Linux Stack Exchange
実はプログレスバーとか考えて辿り着いた感じなのですが.
もしどかたかご存知の方がございましたら.
と今回は TODO を掲げて,「どうしたらいいのだろう」なちょっと投げやりな感じで,おしまいです.
うーん...