35 lines
1.3 KiB
Text
35 lines
1.3 KiB
Text
![]() |
# 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
|