私は Ubuntu を使用していますが、深いディレクトリ階層で作業しているときに、bash で長いプロンプトが表示されることにうんざりしています。そこで、PS1 を微調整して、次の方法で作業ディレクトリの部分を短くしたいと思います。
現在私は持っています:
pajton@dragon:~/workspace/projects/project1/folder1/test$
したい:
pajton@dragon:~/workspace/.../folder1/test$
len($PWD) が所定のしきい値を超えると、切り捨てが発生します。最初のパス コンポーネントと少なくとも 1 つの最後のパス コンポーネントを常に保持したいと考えています。次に、スペースが許す限り、右からコンポーネントを追加します。
これは私が現在持っているものです。動作しますが、1) 最初のパス コンポーネントを保持しません。2) 境界での切断パスを考慮しません。
pwd_length=14
pwd_symbol="..."
newPWD="${PWD/#$HOME/~}"
if [ $(echo -n $newPWD | wc -c | tr -d " ") -gt $pwd_length ]
then
newPWD="...$(echo -n $PWD | sed -e "s/.*\(.\{$pwd_length\}\)/\1/")"
else
newPWD="$(echo -n $PWD)"
fi
そして結果:
pajton@dragon:...sth/folder1/sample$
前もって感謝します!