-
Notifications
You must be signed in to change notification settings - Fork 0
/
01-inpath
52 lines (43 loc) · 1.13 KB
/
01-inpath
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash
# inpath--Verifies that a specified program is either valid as is
# or can be found in the PATH directory list.
in_path()
{
# Given a command and the PATH, try to find the command. Returns
# 0 if found and executable, 1 if not. Note that this temporarily
# modifies the IFS (internal field separator) but restores it
# upon completion.
cmd=$1 ourpath=$2 result=1
oldIFS=$IFS IFS=":"
for directory in “$ourpath”
do
if [ -x $directory/$cmd ] ; then
result=0 # if we're here, we found $cmd in $directory
fi
done
IFS=$oldIFS
return $result
}
checkForCmdInPath()
{
var=$1
if [ "$var" != "" ] ; then
if [ "${var:0:1}" = "/" ] ; then
if [ ! -x $var ] ; then
return 1
fi
elif ! in_path $var "$PATH" ; then
return 2
fi
fi
}
#if [ $# -ne 1 ] ; then
# echo "Usage: $0 command" >&2 ; exit 1
#fi
#checkForCmdInPath "$1"
#case $? in
# 0 ) echo "$1 found in PATH" ;;
# 1 ) echo "$1 not found or not executable" ;;
# 2 ) echo "$1 not found in PATH" ;;
#esac
#exit 0