以下は2つのコード例です。どちらもnohup
bash文字列のコードです。最初の人は仕事をし、2人目は仕事をしませんでした。私は理由を尋ねた。
sudo apt-get purge zip unzip
nohup bash -c " sleep 20s; apt-get install zip unzip; " &
上記のコマンドはバックグラウンドで実行され、これらのソフトウェアでインストールされます(zip
stdin ""を実行して確認しました。
nohup bash -c " sleep 20s; clear; "
このコマンドはフォアグラウンドで実行されますが、ttyをクリアしません。なぜそんなことですか?現在のセッションの画面を消去するにはどうすればよいですか?役に立つコマンドで実行できるパラメータ/実行/スクリプトはありますか?
答え1
プログラムclear
が作成中です。標準出力今すぐリダイレクトコマンドとしてnohup
。したがって、これは端末に影響を与えません。
からのclear
出力を見ることができますnohup.out
。
次のことができます。
nohup bash -c " sleep 20s; clear >/dev/tty; "
出力をデバイスclear
にリダイレクトするようにシェルに指示します。コマンドを使用して端末を識別tty
できます。tty
装備使用するもの、例えば
nohup bash -c " sleep 20s; clear > $(tty); "
しかし、ほとんどの場合、両方が機能します。
から警告を受けることができますnohup
。この警告は無音に設定できます。
nohup bash -c " sleep 20s; clear > $(tty); " 2>/dev/null