bash(および通常はgit)で作業するときによく遭遇する問題は、いくつかのコマンドを起動し、そのコマンドが実行されている間(時間がかかる場合があります)、次のコマンドを待たずにすぐに実行する次のコマンドの作成を開始したいということです。完了するには、前のコマンドを使用してください。前のコマンドの実行中に次のコマンドの作成が終了したら、次のコマンドは実際に開始する前に前のコマンドが完了するまで待つ必要があります。
これまで私が見つけた不適切なオプションは次のとおりです。
次のコマンドの作成を開始してください。
問題は私が盲目的に書いていることです。次のコマンドを入力できますが、入力した内容を見ることはできません。これは、タブの完成に関連して動作が「予測できない」ため、特に問題になります(たとえば、拡張さ
cd s
Tabれるかどうかは推測するのが難しいcd src
)。バックグラウンドで前のコマンドを実行するために使用されます
&
。これは、前のコマンドの出力が私が作成しているコマンドとインターリーブされることを意味します。最終結果は、前のコマンドが十分に頻繁に出力される場合、オプション#1ほど悪いことです。
次のコマンドを使用して、前のコマンドの出力を非表示にします。
> /dev/null
問題は、特に失敗した場合、前のコマンドの出力が重要な場合が多いことです。
もう一度申し上げると、次のような環境を得る方法はありますか?
- 前のコマンドの実行中に次のコマンドを作成できます。
- 私が書いている命令を見ることができます。
- タブの完成が正しく機能する
- 前のコマンドの出力が表示されます。
ベストアンサー1
2つのオプションがあります。
ただし、この
screen
ユーティリティは一部のLinuxディストリビューションには含まれていません。また、Solaris(Unix)にはデフォルトでは含まれていません。Centosを例に挙げましょう。
yum install screen
これは短いチュートリアル画面ユーティリティの使い方。
コマンド
nohup
;それに応じてstdoutとstderrをリダイレクトします。例:
nohup command &