このヒントを入手する方法
~/this/is/a-very-very-long-directory-name/dir
これに関して
~/this/is/a-ver...name/dir
bashプロンプトで?
したがって、nn(20+)文字より長いディレクトリ名はxxxx ... xxxxに短縮されます。
重複の可能性に注意してください。 /to/dirの長いパスではなく、長いディレクトリ名を短くしたいと思います。
ベストアンサー1
あなたは次のようなものを使用する必要がありますsed、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
$ _