デフォルトでは、端末プロンプトには次のようなものが表示されます。
user@system:/folder1/folder2/folder3/folder4$
ファイルシステムを深くすればするほど、コマンドを入力するためのスペースが少なくなります。次のようなものだけを表示するように変更できますか?
>
つまり、自分がpwd
どこにいるかを示すために入力するだけです。;)
デフォルトでは、端末プロンプトには次のようなものが表示されます。
user@system:/folder1/folder2/folder3/folder4$
ファイルシステムを深くすればするほど、コマンドを入力するためのスペースが少なくなります。次のようなものだけを表示するように変更できますか?
>
つまり、自分がpwd
どこにいるかを示すために入力するだけです。;)
回答:
export PS1='\u@\h: '
その結果oli@bert:
、プロンプトが表示されます。
本当に必要なものを最小限に抑えたい場合は、これを試してください:
export PS1='> '
~/.bashrc
これをファイルの末尾に添付して、ログイン間で保持することができます。
また、いくつかの色で創造的にすることもできます。サーバーで使用するものは次のとおりです。
export PS1='\[\033[0;35m\]\h\[\033[0;33m\] \w\[\033[00m\]: '
与える(完全な黒の背景で見やすい):
Oliの答えを拡張するために(そして、それらの省略記号にブックマークを付けるために):
bashプロンプト(stefano@linux:~$
)は、表示される可能性のあるいくつかのプロンプトの最初のものにすぎません。
PS1:シェルを開いたときに表示されるデフォルトのプロンプト
その値はと呼ばれる環境変数に保存されますPS1
。値を表示するには、次を入力します
echo $PS1
これはあなたに何かを与えるでしょう
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
変更するには、変数に新しい値を設定できます。
export PS1="\u > "
これにより、次のようなプロンプトが表示されます。
stefano >
PS2:二次プロンプトです。これは、コマンドが終了していないときに表示されます。入力echo "asd
してEnterキーを押すと、2番目のプロンプトで、逆コンマを閉じるまでさらに行を入力できます。
PS4は、のために使用さプロンプトで スタックトレース(デフォルト:+
)
変更を永続的にするには、ホームディレクトリの末尾.bash_profile
(または.bashrc
、この質問を参照)に変更を追加します。
以下に、これらを作成するときに使用できる略記の完全なリストを示します。
\a
「ベル」キャラクター\A
24時間\d
日付(例:火12月21日)\e
「エスケープ」キャラクター\h
ホスト名(最初の「。」まで)\H
ホスト名\j
現在実行中のジョブの数(ps)\l
現在の端末\n
改行\t
時間(hh:mm:ss)\T
時間(hh:mm:ss、12h形式)\r
キャリッジリターン\s
シェル(つまり、bash、zsh、ksh ..)\u
ユーザー名\v
Bashバージョン\V
完全なBashリリース文字列\w
現在の作業ディレクトリ\W
現在の作業ディレクトリの最後の部分\!
履歴の現在のインデックス\#
コマンドインデックス\$
ルートの場合は「#」、それ以外の場合は「$」\\
リテラルバックスラッシュ\@
時間(午前/午後の12時間形式)もちろん、任意のリテラル文字列と任意のコマンドを挿入できます。
export PS1="\u \$(pwd) > "
どこ$(pwd)
PWD「の出力」の代わりに立っています。
\$(pwd)
されている場合、プロンプトが表示されるたびに評価されます。それ以外の場合、$(pwd)
bashの開始時に評価されるのは一度だけです。プロンプトに色を表示したい場合は、bashの色コードを使用してそれを行うことができます。コードは3つの部分で構成されています。
40;33;01
セミコロンの前の最初の部分はテキストスタイルを表します。
2番目と3番目の部分は色と背景色です。
左から始まると仮定すると、各部分は省略できます。つまり、「1」は太字を意味し、「1; 31」は太字と赤を意味します。そして、命令をでエスケープし\33[
、で終了することにより、ターミナルをカラーで印刷しますm
。33、または16進数の1Bは、ASCII記号「ESCAPE」(ASCII文字セットの特殊文字)です。例:
"\33[1;31mHello World\33[m"
「Hello World」を明るい赤で印刷します。
export PS1='\[\033[1;31m\]\w\[\033[00m\] \$> '
しました/etc/bash.bashrc
が、何も変わらないように見えました...それはセッションごとに動作しますが、永続的にすることはできません。
別の方法は、作業ディレクトリのパスが長くなりすぎたときに短くすることです:ターミナルコマンドプロンプトの作業ディレクトリをトリミングします。
目的のトリミングロジックを実装する小さなPythonスクリプトを作成します。
例:〜/ short.pwd.py
import os from commands import getoutput from socket import gethostname hostname = gethostname() username = os.environ['USER'] pwd = os.getcwd() homedir = os.path.expanduser('~') pwd = pwd.replace(homedir, '~', 1) if len(pwd) > 30: pwd = pwd[:10]+'...'+pwd[-20:] # first 10 chars+last 20 chars print '[%s@%s:%s] ' % (username, hostname, pwd)
次に、ターミナルからテストします。
export PROMPT_COMMAND='PS1="$(python ~/.short.pwd.py)"'
結果に問題がなければ、コマンドを〜/ .bashrcに追加するだけです
私はこれを一時的にしたいことがよくあります。ここに私がやることがあります:
$ export OLD_PS1=$PS1 # save Long Prompt to OLD_PS1
$ export PS1="\u > "export PS1="\u $ " # change to PS1 to Short Prompt
$ export PS1=$OLD_PS1 # restore Long Prompt to PS1
これが誰かの助けになることを願っています。
export PS1="\n___"