普段Linuxをメインで使っていると、bashで、forとかwhileループをバシバシ使って処理することがあると思う。
直ぐ終わる処理だと、特に気にしないのだが、大量のデカイファイルをコピーするなど
時間のかかる処理だと、バックグラウンドで実行したい時があるが、普通にnohup使うと
エラーになって使えない。
- バックグラウド実行したいループ処理
1 |
for i in `ls -1Sh |head -30 `; do mv -i $i /tmp; done |
単純に頭にnohupを付けて行末に&だと上手くいかず
以下のようにしたら上手く言った。
1 |
nohup bash -c 'for i in `ls -1Sh |head -30 `; do mv -i "$i" /tmp; done' & |
- bachの-cオプションに処理したい内容をシングルクォート(‘)で渡す
- 変数はダブルクォート(“)で囲む
と言った感じ
「forとかwhileループでnohup」への1件のフィードバック
日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)