about summary refs log tree commit diff
path: root/shunit2-2.0.3/bin/which
diff options
context:
space:
mode:
Diffstat (limited to 'shunit2-2.0.3/bin/which')
-rwxr-xr-xshunit2-2.0.3/bin/which36
1 files changed, 36 insertions, 0 deletions
diff --git a/shunit2-2.0.3/bin/which b/shunit2-2.0.3/bin/which
new file mode 100755
index 0000000..9d7cc9f
--- /dev/null
+++ b/shunit2-2.0.3/bin/which
@@ -0,0 +1,36 @@
+#! /bin/sh
+# $Id$
+#
+# This is a simple implementation of the 'which' command for those OSes that
+# don't have one.
+#
+
+true; TRUE=$?
+false; FALSE=$?
+
+showAll=${FALSE}
+
+# process command line flags
+while getopts 'a' opt; do
+  case ${opt} in
+    a) showAll=${TRUE}
+  esac
+done
+shift `expr ${OPTIND} - 1`
+
+# exit if no arguments were given
+[ $# -eq 0 ] && exit 1
+
+command=$1
+
+# search for command
+out=`echo "${PATH}" |sed "s/:/\n/g" |\
+while read path; do
+  fullPath="${path}/${command}"
+  if [ -x "${fullPath}" ]; then
+    echo "${fullPath}"
+    [ ${showAll} -eq ${FALSE} ] && break
+  fi
+done`
+[ -z "${out}" ] && exit 1
+echo "${out}"