3つ以上の要素がある場合、$ PWDの最後の3つの要素を '...'で出力する関数を記述しようとしています。最後のn個の要素
/home/nornagon/src --> ~/src
/home/nornagon/src/foo/bar/baz --> ...foo/bar/baz
これは、これまでの私のコードですが、配列はそれであまりにもいくつかの要素を持っている場合に$foo[-3,-1]
動作しません。それはひどくエレガントではないのですけれども
function custom_pwd() {
d=${PWD/#$HOME/\~}
d=(${(s:/:)d})
echo $d[-4,-1]
}
おそらく最初の1つまたは2つの要素も知りたいと思うでしょう。 –