bashで長いパスをいい感じに表示する$PS1
bashで深いパスに居ると、プロンプトが長くなって、嫌になりますよね。
こんなふうに。
user@/home/user/extraordinary/deep/directory/you/are/currently/working/at
$
fishのような現代的なシェルを使うと、中間部分をいい感じに省いてくれます。
user@/h/u/e/d/d/y/a/c/w/at
$
fishを導入すれば解決ですが、この程度であればbashrcをちょっといじるだけでも、解決できます。
short_pwd() {
cwd=$(pwd | sed -e "s@^$HOME@~@" | awk -F'/' '{for(i=1;i<NF;++i) printf substr($(i), 0, 1) "/"; printf $NF}')
echo -n $cwd
}
export PS1='\[\033[01;32m\]@\[\033[01;36m\] $(short_pwd) \n\[\033[01;34m\]\$\[\033[00m\] '