現在Linuxマシンを使用していますが、シェルプロンプトに最後の戻り値と実行されたコマンドの数が表示されています(これらの数字は紫色で表示されています)。
自分のコンピューターにはこれがありません。どのように構成できますか?
Xubuntoを使用していますが、詳細が必要な場合はお知らせください-私はLinuxユーザーではありません(ここで何が関係するのかわかりません)。
現在Linuxマシンを使用していますが、シェルプロンプトに最後の戻り値と実行されたコマンドの数が表示されています(これらの数字は紫色で表示されています)。
自分のコンピューターにはこれがありません。どのように構成できますか?
Xubuntoを使用していますが、詳細が必要な場合はお知らせください-私はLinuxユーザーではありません(ここで何が関係するのかわかりません)。
回答:
そうですbash
Xubuntuののあるデフォルトのシェル。
編集する.bashrc
か.bash_profile
(システム構成に応じて)、で始まる行を探しますPS1=
。この行はプロンプトを設定します。
最後のコマンドの戻り値を追加するには、その行に次を追加します。
`echo -n $?`
そのため、たとえば次のようになります(現在のプロンプト、簡略化):
PS1='\u in \w (`echo -n $?`)\n -> \$ '
_
カーソルであると、次のようになります。
danielbeck in ~ (0)
-> $ _
または、環境変数PROMPT_COMMAND
を使用して、プロンプトにリターンコードを追加できます。
export PROMPT_COMMAND='RET=$?; echo -n "($RET) "'
これにより、たとえば(0)
変更されていないプロンプトの直前に追加されます。
\#
プロンプトに追加することで「カウンター」を取得します。これはコマンド番号です。より便利なのは履歴番号です。これは1からは始まりませんが、感嘆符を入力してコマンドの履歴番号を入力することで、任意のコマンドを実行できます。
984 $ foo
-bash: foo: command not found
985 $ !984
foo
-bash: foo: command not found
986 $ _
いくつかの追加の再生後:
PS1='`RET=$?; if [ $RET != 0 ] ; then echo "rc $?"; fi`\n\u in `pwd`\n#\# !\! \$ '
これは、ゼロ以外の場合、独自の行に戻り値のみを表示します。コマンド番号と履歴番号は、入力するコマンドと同じ行にあります。
danielbeck in /Users/danielbeck/Downloads
#1 !984 $ foo
-bash: foo: command not found
rc 127
danielbeck in /Users/danielbeck
#2 !985 $ _
変数$?
には、最後に実行されたプログラムの終了コードが含まれます。
ninth:~ sakkaku$ echo Hello World
Hello World
ninth:~ sakkaku$ echo $?
0
ninth:~ sakkaku$ cat asdasd
cat: asdasd: No such file or directory
ninth:~ sakkaku$ echo $?
1
インクリメンターを使用して「実行されたコマンドの数」を取得できると思います
ninth:~ sakkaku$ echo $[numcommands++]
0
ninth:~ sakkaku$ echo $[numcommands++]
1
ninth:~ sakkaku$ echo $[numcommands++]
2
ninth:~ sakkaku$ echo $[numcommands++]
3
次に、.bashrcのPS1 / PS2変数を変更して、プロンプトを変更する必要があります。 これはまともなガイドのように思えます(/ etc / bashrcの変更を推奨する場合を除き、〜/ .bashrcを実行するだけです)。