Linux Bash プロンプトでのいくつかの不正な操作

Linux環境でシェルターミナル を開く と 、コマンドラインに次のような Bash プロンプトが表示されます : [user@$host ~]$コマンドライン プロンプトは実際には自分で設定および追加できることがわかります。 . お役立ち情報?この記事では、独自の Bash コマンド ライン プロンプトをカスタマイズする方法を説明します。

Bash プロンプトを設定する方法

Bash プロンプトは、対話型シェル プロンプトに使用される環境変数 PS1 (プロンプト文字列 1) によって設定されます。もちろん、Bash コマンドを完了するためにさらに入力が必要な場合は、PS2 環境変数を使用して複数行のプロンプトが設定されます。

[dneary@dhcp-41-137 ~]$ export PS1="[Linux Rulez]$ " 

[Linux Rulez] export PS2="... " 

[Linux Rulez] true の場合; 次に

...「成功しました!」とエコーします。

...fi

成功!

PS1の値はどこに設定すればよいのでしょうか?

PS1 は通常の環境変数です。システムのデフォルト値は /etc/bashrc に設定されています。私のシステムでは、デフォルトのプロンプトは次のコマンドで設定されています。

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

PS1 がシステムのデフォルト値 \s-\v$ であるかどうかを判断し、そうであれば値を [\u@\h \W]\$ に設定します。(LCTT 変換アノテーション: コマンドは \ でエスケープされることに注意してください。)

ただし、プロンプトをカスタマイズする場合は、/etc/bashrc を変更するのではなく、ホーム ディレクトリの .bashrc ファイルにカスタム コマンドを追加する必要があります。

上記の \u、\h、\W、\s、\v は何を意味しますか?

man bash のプロンプトの章では、PS1 および PS2 に関連するすべての特殊文字の説明を見つけることができます。

\u: ユーザー名

\h: 短いホスト名

\W: 現在いるディレクトリの名前 (ベース名)、~ はホーム ディレクトリを表します

\s: シェル名 (シェルの名前に応じて bash または sh) ) 

\v: シェルのバージョン番号

プロンプトでは他にどのような特別な文字列を使用できますか?

上記に加えて、プロンプトで使用できる便利な文字列が多数あります。

\d: 日付を「火曜日 6 月 27 日」形式に展開します

\D{fmt}: カスタム日付形式を許可します - 詳細情報は man strftime から取得できます

\D{%c}: ローカライズされた日付と時刻を取得します

\n: 改行 (以下の複数行のプロンプトを参照してください) 

\w: 現在の作業ディレクトリの完全なパスを表示します

\H: 現在作業しているマシンの完全なホスト名

上記に加えて、Bash の man ページの「PROMPTING」セクションでは、その他の特殊文字とその使用法も見つけることができます。

複数行のプロンプト

プロンプトが長すぎる場合 (たとえば、\H、\w、または完全な日付と時刻を含める場合)、プロンプトを 2 行に分割したい場合は、\n を使用してプロンプトを 2 行に分割できます。次のような表示を行います。 複数行の例では、最初の行に日付、時刻、および現在の作業ディレクトリが表示され、2 行目にユーザー名とホスト名が表示されます。

PS1="\D{%c} \w\n[\u@\H]$ "

もっと楽しいことはありますか?

プロンプトをカラフルにしたい人もいます。色付きのプロンプトは気が散ってイライラすると思いますが、もしかしたらあなたはそれを楽しんでいるかもしれません。日付を赤、ディレクトリを水色、ユーザー名の背景を黄色にしたい場合は、次のようにします。

PS1="\[\e[31m\]\D{%c}\[\e[0m\] 

\[\e[36m\]\w\[\e[0m\]\n[\[\e [1;43m\]\u\[\e[0m\]@\H]$ " \[ .. 

\]: 一部の非印刷文字を表します

\e[..: エスケープ文字、その後に特定のエスケープ文字列が続きます端末内の色またはその他の意味を表します

31m: 赤のフォントを表します (41m は赤の背景を表します) 

36m: シアンのフォント 1 を表します; 

43m: 黄色のフォントを表します (1; 33m は黄色のフォントを表します) 

[\e [0m]]:カラーをシステム端末のデフォルトの色に変更します。

ここでは、Bash プロンプトの HOWTO で、さらに多くのカラー コードを見つけたり、文字を反転したり点滅させたりすることもできます。地球上の人々がなぜこのように考えるのか分かりませんが、あなたならできるはずです。

では、お気に入りのカスタム プロンプトはどのようなものでしょうか? あなたを夢中にさせるカスタム プロンプトはありますか? コメントで教えてください〜

おすすめ

転載: blog.csdn.net/yaxuan88521/article/details/133341653