出力を削除せずにバックグラウンドで実行

出力を削除せずにバックグラウンドで実行

Gitホスティングを使用してください。だから私はたくさん走りますgit push

git push完了するまで待つ必要なく、代わりに端末で他のタスクを実行できるようにバックグラウンドで実行したいと思います。

ただし、エラーなしで実行されていることを確認するには、出力を確認する必要があるため、git push実際の背景()で実行したくありません。git push &

バックグラウンドプロセスのように実行しながら出力を表示し続ける正しい方法は何ですか?

私が渡した最高の点は次のとおりです。

xterm -hold -e 'git push' &

しかし、これは私が最もよく使うアプリケーションであるGnome Terminalではなく、XTermを使用します。これはやや一貫性がありません。

他にどのようなオプションがありますか?

答え1

リアルタイムで出力を表示する必要がない場合は、次のことができます。

git push 2>&1 > ~/git-push-$(date +"%Y%m%d-%H%M").log &

上記のコードは、呼び出した日時を含むファイル名を使用してホームディレクトリにファイルを生成しますgit-push-20160208-1201.log。これを再入力する必要がないように、エイリアスまたはシェル関数に入れることができます。または、レビューのために最後のプッシュを維持する必要がある場合は、次のものを使用できます。

git push 2>&1 > ~/git-push.log &

次のいずれかのコマンドを使用してプッシュが失敗した場合は、自分に通知を送信することもできます。

git push 2>&1 > ~/git-push.log || notify-send "Push failed" "git push initiated from $(pwd) at $(date) threw an error!" &

答え2

git push 2>&1 &

「2>&1」はすべての出力を標準出力にリダイレクトします。

関連情報