* PWD2 [#oaeb24c5]
pwdコマンドを加工して、今いるディレクトリとその上のディレクトリのみ表示する。
function pwd4screen() {
_ifs=IFS
function pwd2() {
local _ifs=IFS
local buf=''
local dir=()
local n=0
local idx=0
IFS=/
for i in $PWD; do
n=${#dir[@]}
dir[$n]=$i
done
n=${#dir[@]}
for i in 3 2 1; do
idx=$((n-$i))
if [ "$idx" -ge 0 ]; then
if [ "$idx" -gt 0 ]; then
buf=$buf/${dir[$idx]}
fi
done
if [ "$n" -gt 3 ]; then
if [ "$n" -gt 2 ]; then
buf=${buf#/}
fi
IFS=$_ifs
echo -en "\033k$buf\033\134"
echo $buf
}
local _IFS=IFS
local n=0
local dir=()
local buf=""
IFS=/
for i in $PWD; do
n=${#dir[@]}
dir[$n]=$i
done
n=${#dir[@]}
if [ "$n" -ge 6 ]; then
n3=$((n-1))
n2=$((n-2))
n1=$((n-3))
buf=${dir[$n1]}/${dir[$n2]}/${dir[$n3]}
elif [ "$n" -eq 5 ]; then
n3=$((n-1))
n2=$((n-2))
n1=$((n-3))
buf=/${dir[$n1]}/${dir[$n2]}/${dir[$n3]}
elif [ "$n" -eq 4 ]; then
n2=$((n-1))
n1=$((n-2))
buf=/${dir[$n1]}/${dir[$n2]}
elif [ "$n" -eq 3 ]; then
n1=$((n-1))
buf=/${dir[$n1]}
else
buf=/
fi
IFS=$_IFS
echo $buf