私が深いディレクトリにある場合は、次のように言うことができます。
~/Desktop/Dropbox/School/2017/C/A3/
その後、端末を開くと、次のように表示されます。
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
その後、注文を書きます。これは非常に長く、端末に書き込むすべての行は次の行に移動します。現在のディレクトリのみを表示する方法があるかどうか疑問に思います。私はそれを見せたい:
bob@bob-ubuntu: A3/$
これにより、明確で常にディレクトリpwd
全体を見ることができます。スペースが多すぎるため、ディレクトリ全体を端末に表示したくありません。
答え1
Bash 4からコマンドラインでディレクトリの深さを減らすのはPROMPT_DIRTRIM
ファイルです.bashrc
。端末を再び開くことを忘れないでください。
PROMPT_DIRTRIM=1
よりバッシュマニュアルより多くの情報を知りたいです。
はい
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
にまとめられる
bob@bob-ubuntu:.../A3/$
答え2
PS1
シェル起動ファイル(おそらく)を変更する必要があります.bashrc
。
すでに存在する場合は、その設定が含まれ、\w
これが作業ディレクトリになります。\W
(大文字)に変更してください。ファイルの行はbashrc
次のとおりです。
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
ログアウトして再度ログインするか、次の操作を行います。
. .bashrc
または(他のディレクトリにある場合は、接頭辞 "~/"を追加する必要があります)
source ~/.bashrc
(またはあなたのファイルは何でも)。
存在しない場合は、以下を追加します。
PS1='\u@\h: \W:\$'
.bashrc
何でも。より多くのアイデアについては、PS1
マニュアルページを確認してくださいbash
。
などbash
の複数の初期化ファイルを使用できるため、システム全体に設定できます。ただし、自分のファイルの1つでそれを上書きすることはできます。.bashrc
.bash_profile
PS1
答え3
これはsh
すべてのシェルで移植可能です。
PS1
シェルに割り当てられた起動ファイルの1つ:
PS1='${PWD##*/} $ '
プロンプトは次のようになります。
dir $
dir
現在のディレクトリのデフォルト名はどこにありますか?
この$PWD
変数には現在のディレクトリパスが含まれ、${PWD##*/}
最後のディレクトリまで含めてそのパスのすべてのエントリが削除されます。/
一重引用符は、シェル型が割り当て時に変数の置換(プロンプトが表示されるたび$PS1
に評価される値)を評価するのを防ぎます。
PS1
この変数は現在のシェルでのみ使用されるため、エクスポートしないでください。
答え4
zsh
プロンプト文字列からに変更または変更するなど、%~
現在の作業ディレクトリに展開します。ただし、次のようにパスの最後の2つのコンポーネントに制限するように変更できます。$HOME
~
/home/user
~user
tcsh
%2~
$ PS1='%n@%m:%2~$ '
me@here:~/bin$ cd /usr/local/share/man/man1
me@here:man/man1$
またはを使用して、拡張が20列を超えていないことを%20<…<%~%<<
確認し、切り捨てを表示するようにマークすることもできます(存在する場合)。%~
…
me@here:man/man1$ PS1='%n@%m:%20<…<%~%<<$ '
me@here:…ocal/share/man/man1$