source: vendor/bash/3.1-p17/examples/functions/which

Last change on this file was 3228, checked in by bird, 18 years ago

bash 3.1

File size: 856 bytes
Line 
1#
2# which - emulation of `which' as it appears in FreeBSD
3#
4# usage: which [-as] command [command...]
5#
6
7which()
8{
9 local aflag sflag ES a opt
10
11 OPTIND=1
12 while builtin getopts as opt ; do
13 case "$opt" in
14 a) aflag=-a ;;
15 s) sflag=1 ;;
16 ?) echo "which: usage: which [-as] command [command ...]" >&2
17 exit 2 ;;
18 esac
19 done
20
21 (( $OPTIND > 1 )) && shift $(( $OPTIND - 1 ))
22
23 # without command arguments, exit with status 1
24 ES=1
25
26 # exit status is 0 if all commands are found, 1 if any are not found
27 for command; do
28 # if $command is a function, make sure we add -a so type
29 # will look in $PATH after finding the function
30 a=$aflag
31 case "$(builtin type -t $command)" in
32 "function") a=-a;;
33 esac
34
35 if [ -n "$sflag" ]; then
36 builtin type -p $a $command >/dev/null 2>&1
37 else
38 builtin type -p $a $command
39 fi
40 ES=$?
41 done
42
43 return $ES
44}
Note: See TracBrowser for help on using the repository browser.