Give variables more expressive names

This commit is contained in:
Nero 2018-03-16 04:10:20 +00:00
parent 6530695869
commit 6a90372fd7
1 changed files with 18 additions and 20 deletions

View File

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