私が深いディレクトリにいる場合は、次のようにしましょう:
~/Desktop/Dropbox/School/2017/C/A3/
次に、ターミナルを開くと、
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
それからコマンドを書きます。それは非常に長く、ターミナルで私が書くすべての行は次の行に行きます。現在のディレクトリのみを表示する方法があるかどうかを知りたいです。表示したい:
bob@bob-ubuntu: A3/$
このようにすれば、非常にわかりやすく、いつでもpwd
を実行してディレクトリ全体を確認できます。スペースが大きすぎるため、ターミナルでディレクトリ全体を表示したくありません。
シェルスタートアップファイルのPS1
を変更する必要があります(おそらく.bashrc
)。
既に存在する場合は、その設定に\w
が含まれます。これが作業ディレクトリになります。これを\W
(大文字)に変更します。ログアウトして再度ログインするか、次の操作を行います。
. .bashrc
(またはあなたのファイルが何であれ)。
ない場合は、次のように追加します。
PS1='\u@\h: \W:\$'
.bashrc
などに。 bash
マニュアルページでPS1
を検索して、他のアイデアを入手してください。
注意してください; bash
は、複数の初期化ファイルを使用できます。 .bashrc
および.bash_profile
; PS1
がシステム全体に設定されている可能性があります。ただし、独自のファイルの1つでそれをオーバーライドできます。
Bash 4以降、コマンドラインでディレクトリの深さを短くする簡単な方法は、bashrcファイルで以下のコマンドを使用することです。ターミナルを再度開くことを忘れないでください。また、番号(つまり1)は、表示するディレクトリの深さを指定します。
Prompt_DIRTRIM = 1
Bashを使用している場合、\W
ではなく\w
になるようにプロンプト文字列(変数PS1)を変更します。
例えばPS1が現在\u@\h:\w\$
の場合は、\u@\h:\W\$
に設定します
これを永続的にするには、bashスタートアップファイルで変更する必要があります。 ~/.bash_profile
または~/.bashrc
。
詳細とバックスラッシュでエスケープされた特殊文字のリストについては、man bash
を参照し、PROMPTING
を検索してください。
これはすべてのsh
シェルに移植可能です。
シェルスタートアップファイルの1つでPS1
に割り当てます。
PS1='${PWD##*/} $ '
プロンプトは次のようになります
dir $
ここで、dir
は現在のディレクトリのベース名です。
$PWD
変数には現在のディレクトリパスが含まれ、${PWD##*/}
はそのパスの最後の/
までをすべて取り除きます。
単一引用符は、割り当て時に変数置換を評価するシェルフォームを防ぎます($PS1
の値は、プロンプトが表示されるたびに評価されます)。
PS1
変数は現在のシェルでのみ使用されるため、エクスポートしないでください。
この場合、編集する必要がありますPS1、
\w
、短縮されたパスを示すコマンドまたは変数があります。
オリジナルPS1
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$'
に変更
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]${PWD##*/}\[\033[00m\]\$'
あなたがあなたのホームディレクトリにいる場合、これは〜の本質的なユーザー名を置くことに注意してください!
これを回避するには、$ {PWD ## * /}を組み込んだいくつかのコマンドが必要になります。
if [[ "${PWD}" == "${HOME}" ]] ; then printf \~; else echo -n ${PWD##*/}; fi
新しいPS1は次のようになります
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]`if [[ "${PWD}" == "${HOME}" ]] ; then printf \~; else echo -n ${PWD##*/}; fi`\[\033[00m\]\$'
oOps noIdea |忘れていた世界を救おうとしている間に\ W
https://github.com/chrissound/SodiumSierraStrawberry
次のようにパスを切り詰めることができます:
From:/ home/sodium/Projects/Personal/Sierra/Super/Long/Path/HolyAvacado
宛先:"Projects/Sie…/ Sup…/ Lon…/ Pat…/ HolyAvacado /