Give variables more expressive names

This commit is contained in:
Nero 2018-03-16 04:10:20 +00:00
parent 6530695869
commit 6a90372fd7

View File

@ -1,44 +1,42 @@
#!/bin/sh #!/bin/sh
p="${1%/}"
case "$1" in case "$1" in
/*) p="${1#/}" /*) left="${1#/}";;
r="";; *) left="${PWD#/}/$1";;
*) p="${PWD#/}/$1";;
esac esac
r="" result=""
while [ -n "$p" ]; do while [ -n "$left" ]; do
case "$p" in case "$left" in
*/*) */*)
seg="${p%%/*}" seg="${left%%/*}"
p="${p#*/}" left="${left#*/}"
;; ;;
*) *)
seg="$p" seg="$left"
p="" left=""
;; ;;
esac esac
case "$seg" in case "$seg" in
.) .)
r="${r%/*}" result="${result%/*}"
continue continue
;; ;;
..) ..)
r="${r%/*/*}" result="${result%/*/*}"
continue continue
;; ;;
esac esac
r="$r/$seg" result="$result/$seg"
target="$(readlink "$r")" target="$(readlink "$result")"
case "$target" in case "$target" in
/*) p="${target}" /*) left="${target}"
r="";; result="";;
'') ;; '') ;;
*) p="${p%/*}/${target}";; *) left="${left%/*}/${target}";;
esac esac
p="${p#/}" left="${left#/}"
done done
echo "$r" echo "$result"