回答:
これでしばらく遊んだ後、私はあなたが必要とする答えを得ました:
これをホームディレクトリの.bashrcファイルに追加し、ターミナルを終了してレンタルすると、プロンプトが表示されます。
PS1='$(eval "sps")$ '
sps() {
echo "$PWD" | sed -r 's|/([^/]{,2})[^/]*|/\1|g'
}
プロンプトでsps()
ある変数PS1
が表示されるたびに、宣言された関数を使用してパスを評価します
すなわち
/ho/de/De/Ap/Ti$ pwd
/home/deth/Desktop/Apps/Tivo
/ho/de/De/Ap/Ti$
または...あなたが一文字を主張する場合
PS1='$(eval "sps")$ '
sps() {
echo "$PWD" | sed -r 's|/(.)[^/]*|/\1|g'
}
表示されるもの:
/h/d/D/A/T$ pwd
/home/deth/Desktop/Apps/Tivo
/h/d/D/A/T$
user@pc
パーツを削除しています。どうすればこれを処理できますか?
最後のものを除くすべてのディレクトリ名を切り捨てるには:
PS1='$(eval "sps")$ '
sps() {
python -c "import sys; dirs = sys.argv[1].split('/'); print '/'.join(d[:1] for d in dirs[:-1]) + '/' + dirs[-1]" $PWD
}
PS1
。PS1
変数(PS1='${SHORT_PWD}\\$'
)を含むように設定し、その変数をで更新する必要があります$PROMPT_COMMAND
。