1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
# post bash-4.3 changes to how command -p works (avoid modifying $PATH)
: ${TMPDIR=/tmp}
xpath=/usr/local/bin:/usr/GNU/bin:/usr/bin:/bin:.
# set a value of PATH we can test for; versions of bash up to and including
# bash-4.3 would set $PATH while running command -p
PATH=$xpath
export PATH
command -p sh -c 'echo $PATH'
PATH=${TMPDIR}
command -pv cat >/dev/null || echo "cannot find cat using standard path"
command -p cat < /dev/null
#hash
PATH=$xpath
command -pv cat >/dev/null || echo "cannot find cat using xpath"
PATH=$TMPDIR command -pv cat >/dev/null || echo "cannot find cat using standard path with PATH=\$TMPDIR"
PATH= command -pv cat >/dev/null || echo "cannot find cat using standard path with empty \$PATH"
PATH=$TMPDIR command -v cat >/dev/null || echo "cannot find cat in \$TMPDIR"
PATH= command -v cat >/dev/null || echo "cannot find cat with empty \$PATH"
echo PATH = $PATH
hash cat
PATH=$xpath
PATH=$TMPDIR command -pv cat >/dev/null || echo "cannot find cat using stdpath with hash"
PATH= command -pv cat >/dev/null || echo "cannot find cat using stdpath with hash"
PATH=$TMPDIR command -v cat >/dev/null || echo "cannot find cat in \$TMPDIR with hash"
PATH= command -v cat >/dev/null || echo "cannot find cat with empty \$PATH with hash"
echo PATH = $PATH
|