最も簡単な解決策:
でシェル スクリプトを作成します。 #/bin/sh
tar -zcf archive.tar.gz.tmp mydir
mv archive.tar.gz.tmp archive.tar.gz
nohup myscript
を使用します .おそらく、スクリプトに追加のドキュメントが含まれている可能性があります。
(はい、私は文書化が苦手です。特に、複数の人と一緒に仕事をしている場合や、いつか仕事を辞める可能性があり、後継者がその理由を理解する必要がある場合)。
別の方法として、サブタスク用に新しいシェルを開始することもできます (この場合は tar と move)
nohup `$(tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz)
代替案 2:
nohup ```tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz```.
私は本当にスクリプトを好みます。その中のコメントは、あなたや他の誰かが数年後に彼のスクリプトを見て、なぜこのように行われたのか疑問に思うときに非常に役立つかもしれません.
無関係なメモ:バックティックを含む anser を投稿するにはどうすればよいですか? (シェルが「このコマンドを使用し、出力を別のコマンドに入力として渡す」ためのコマンド)。
括弧が必要だと思います。
nohup $(tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz) >/dev/null 2>&1 &
多分 bash ラップ?
nohup bash -c 'tar -zcf archive.tar.gz.tmp mydir > /dev/null 2>&1 ; mv archive.tar.gz.tmp archive.tar.gz > /dev/null 2>&1' &