rm -f src : >src for iter in 10 20; do rm -rf y rm -f x *.dyn static mkdir y : >y/static ln -s . y/x ( cd y/x/x/x/x/x IFS=$(printf '\n') _pwd=$(env pwd) redo-ifchange static x/x/x/static $PWD/static \ $_pwd/static /etc/passwd # goredo: that symlink path is not resolving even at OS level # redo-ifchange $PWD/../static 2>/dev/null && exit 35 redo-ifchange 1.dyn x/x/x/2.dyn $PWD/3.dyn \ $PWD/../4.dyn $_pwd/5.dyn ) [ -e y/1.dyn ] || exit $((iter + 1)) [ -e y/2.dyn ] || exit $((iter + 2)) [ -e y/3.dyn ] || exit $((iter + 3)) # [ -e 4.dyn ] || exit $((iter + 4)) [ -e y/5.dyn ] || exit $((iter + 5)) done