Bashプロンプトで非常に長いディレクトリ名を減らします。

Bashプロンプトで非常に長いディレクトリ名を減らします。

このヒントを入手する方法

~/this/is/a-very-very-long-directory-name/dir

これに関して

~/this/is/a-ver...name/dir

bashプロンプトで?

したがって、nn(20+)文字より長いディレクトリ名はxxxx ... xxxxに短縮されます。

重複の可能性に注意してください。 /to/dirの長いパスではなく、長いディレクトリ名を短くしたいと思います。

ベストアンサー1

あなたは次のようなものを使用する必要があります、bashには組み込みメソッドはありません。

 d='~/this/is/a-very-very-long-directory-name/with_another_very_long_name/and-here-is-yet-another-one'
# or, d=$(pwd)
e=$( echo "$d" | sed -E 's#([^/]{4})[^/]{13,}([^/.]{3})#\1...\2#g' )
echo "$e"
~/this/is/a-ve...ame/with...ame/and-...one

一方、プロンプトに改行文字を追加することもできます。私は次のようなものを使用します:

PS1='\u@\h:\w\n\$ '

これは次のとおりです

jackman@myhost:~/this/is/a-very-very-long-directory-name/with_another_very_long_name/and-here-is-yet-another-one
$ _

おすすめ記事