]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
lib.sh: Use `type` instead of `which`.
authorSimon Ruderich <simon@ruderich.org>
Sun, 10 Mar 2013 21:46:29 +0000 (22:46 +0100)
committerSimon Ruderich <simon@ruderich.org>
Sun, 10 Mar 2013 21:46:29 +0000 (22:46 +0100)
`type` is more portable. Also remove the old `which` tests.

lib.sh
tests/lib.sh.test
tests/lib.sh.test.out

diff --git a/lib.sh b/lib.sh
index 95c2fdf5c83efdc37212468d00e8f4c837ca7ac8..d150778e36bccc09036ba1c5a5a33257005f37f5 100644 (file)
--- a/lib.sh
+++ b/lib.sh
 unset LS_COLORS
 
 
-# Check if the given program is installed. Returns 0 if it exists, 1
-# otherwise; so it can be used in if.
+# Check if the given program is installed. `type` is portable, `which` is not.
 installed() {
-    [ x`which $1 2>&1 | cut -c 1` = x/ ] || return 1
+    type "$1" >/dev/null 2>&1
 }
 
 # Print the current OS. The following OS are supported at the moment:
index 5db26dcf3eae59f4b47ce217a9c19b2e02ae427e..e46e937678a5126baf60812efd731c2706d31d46 100644 (file)
 
 . ../lib.sh
 
-# which with proper exit codes and output to stdout.
-which() {
-    if [ $1 = ls ]; then
-        echo /bin/ls
-    else
-        echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin
-        return 1
-    fi
-}
-echo stdout which
-installed ls && echo ls installed
-installed doesnt-exist && echo doesnt-exist installed
-
-# which with proper exit codes and output to stderr in case of an error.
-which() {
-    if [ $1 = ls ]; then
-        echo /bin/ls
-    else
-        echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin >&2
-        return 1
-    fi
-}
-echo stderr which
-installed ls && echo ls installed
-installed doesnt-exist && echo doesnt-exist installed
-
-# which with no proper exit codes and output to stdout in case of an error.
-which() {
-    if [ $1 = ls ]; then
-        echo /bin/ls
-    else
-        echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin
-    fi
-}
-echo stupid which
-installed ls && echo ls installed
-installed doesnt-exist && echo doesnt-exist installed
-
-# which with proper exit codes and no output in case of an error.
-which() {
-    if [ $1 = ls ]; then
-        echo /bin/ls
-    else
-        return 1
-    fi
-}
-echo different which
-installed ls && echo ls installed
-installed doesnt-exist && echo doesnt-exist installed
-
 
 # Tests for generate().
 echo "Simple test file for generate() using m4.
index 17d7b2cd1c5bf5455ed6cdd807152d137ccc5efc..b16d56937495f0c03d2615801f1d95585336c108 100644 (file)
@@ -1,11 +1,3 @@
-stdout which
-ls installed
-stderr which
-ls installed
-stupid which
-ls installed
-different which
-ls installed
 m4: generating 'tmp/test' from 'tmp/test.m4' with options '-DTEST=m4'
 ###################################
 # WARNING! DO NOT EDIT THIS FILE! #