PROMPT_DIRTRIM が機能しません。

PROMPT_DIRTRIM が機能しません。

私の中には次のものがあります.bash_profile

PROMPT_DIRTRIM=3
export PS1='$ \u in \w: '

ただし、ディレクトリに深く入ってもパスは短縮されません。プロンプトに表示される内容は次のとおりです。

$ myname in ~/Desktop/level3/level4/level5:

iTermを再起動してみましたが、役に立ちませんでした。実行すると、bash --version次の結果が表示されます。

GNU bash, version 4.3.42(1)-release (x86_64-apple-darwin15.4.0)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

私はどこで間違っていますか?

編集するより深く:

$ myname in ~/Desktop/level3/level4/level5/level6/level7/level8/level9:

答え1

もう少し深く入ると切れ始めます。

$ sweh in ~: cd D1
$ sweh in ~/D1: cd D2
$ sweh in ~/D1/D2: cd D3
$ sweh in ~/D1/D2/D3: cd D4
$ sweh in ~/D1/D2/D3/D4: cd D5
$ sweh in ~/.../D3/D4/D5: cd D6
$ sweh in ~/.../D4/D5/D6: 

$HOME 外現れる早期切り捨て:

$ sweh in ~: cd /usr/local/share/locale/
$ sweh in .../local/share/locale: 

どちらの場合も、3つのレベルのディレクトリを維持しようとしていることがわかりますが、$ HOMEの内部には〜/という接頭辞が付き、4つのディレクトリと3つのディレクトリがあることがわかるほど賢いです。...この場合は問題ではありません。

MacOSに付属の基本バージョンは、bashこれを理解するのに十分なほど新しいバージョンではありません。最新バージョン(ソースまたはソースからなど)をインストールした場合は、実行ウィンドウが古い組み込みバージョンの代わりに新しいバージョンを使用するようにコマンドを使用してユーザーbrewシェルを変更したことを確認する必要があります。chshbashbash

答え2

これは私にとって効果的です!

homebrewを使用したBash 4のインストール

brew install bash

正当なシェルリストに新しいシェルを追加する

sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"

ユーザーシェルの変更

chsh -s /usr/local/bin/bash

Terminal.appを再起動します(新しいウィンドウも機能します)

exec bash

叫ぶGitHub 必須情報を提供する作家!

関連情報