1

私はbashの初心者で、一般的にシェルを使用しています。ターミナルを開くと、次のようなプロンプトが表示されます。

myusername@dev94:~>

myusername は青、dev94 は赤、> は緑です (この色の設定はおそらく私の .bashrc ファイルにあると思います)。これが私の質問です: exit と入力して Enter キーを押すと、次のようになります。

myusername@dev94:~>
exit
exit
myusername@dev94:~>

myusername@dev94:~> はすべて黒で、色はありません。exit を入力する前の色付きのものと、exit を入力した後の無色のものの違いは何ですか? (ちなみに、私は最初の exit だけを入力しました。Enter キーを押すと、2 番目の exit が自動的に表示されます。2 番目の exit はどこから来ているのか疑問に思っています。すべてのシェルで bash/shell のものだけですか?)

exit を (無色のプロンプトで) もう一度入力して Enter キーを押すと、シェルが閉じます。シェルプロセスが終了し、ウィンドウが閉じられることは理解できます。私の 2 番目の質問: 色付きのプロンプト自体で exit を最初に入力したときに閉じなかったのはなぜですか。最初の終了コマンドで、色付きのプロンプトから無色のプロンプトになったのはなぜですか?

ありがとうございました!

4

1 に答える 1

0

シェルが SHELL 変数を設定している可能性がありますが、これは必須ではなく、必ずしも正しいとは限りません。

echo $SHELL
/bin/bash

プロセス リストで ps ax --forest を見ると、次のようになります。

ps ax --forest 

内側のシェルの上に、外側のシェルの上にある ps コマンドを自分で見つける必要があります。

于 2012-05-09T21:31:49.037 に答える