command -v seems to cause problems for some distros, despite being POSIX and built into sh
markt markt
3 files changed,
60 insertions(+),
14 deletions(-)
M
ChangeLog
→
ChangeLog
@@ -216,8 +216,6 @@ *07/01/03:
* Don't run [startup] items in apps file on fluxbox restart (Mark) Remember.cc fluxbox.cc *07/01/02: - * Replace `which' in fbsetbg and fbgm with `command -v' (Mark) - util/fbsetbg fluxbox-generate_menu.in * Don't escape regular expression metacharacters in apps file, bug #1595497 (Mark) Remember.cc ClientPattern.cc
M
util/fbsetbg
→
util/fbsetbg
@@ -131,9 +131,28 @@
EOF } -find_it() { - command -v $1 > /dev/null 2>&1 && shift && $* -} +# some which's have a reliable return code, some don't +# Lets figure out which which we have. +if which this_program_does_not_exist-no_really-aA1zZ9 >/dev/null 2>/dev/null; then + # can't rely on return value + find_it() { + file=`which $1 2> /dev/null` + if [ -x "$file" ]; then + if [ $# -gt 1 ]; then + shift + $* + fi + return 0 + else + return 1 + fi + } +else + # can rely on return value + find_it() { + which $1 > /dev/null 2>&1 && shift && $* + } +fi message() {@@ -330,7 +349,7 @@ if find_it $wpsetter; then
if [ ! "$wpsetter" = Esetroot ]; then WPSETTER=$wpsetter break - elif ldd `command -v Esetroot`|grep libImlib 2>&1 > /dev/null; then + elif ldd `which Esetroot`|grep libImlib 2>&1 > /dev/null; then WPSETTER=$wpsetter break else