gave sheelutils a more appropriate name and added which
parent
b80eb821c8
commit
6366167443
|
@ -0,0 +1,57 @@
|
|||
#!/bin/sh
|
||||
internal_path="$(echo $PATH | sed -e 's/:/\n/g')"
|
||||
|
||||
while true; do
|
||||
if getopts "ac:h" arg; then
|
||||
true # do nothing
|
||||
else
|
||||
break
|
||||
fi
|
||||
case $arg in
|
||||
a)
|
||||
all="yes"
|
||||
shift
|
||||
;;
|
||||
c)
|
||||
internal_path="$(echo $OPTARG | sed -e 's/:/\n/g')"
|
||||
shift 2
|
||||
;;
|
||||
h)
|
||||
echo "Usage: $0 [-a] [-c <custom path>] <command>"
|
||||
echo \
|
||||
'Options:
|
||||
-a return all results if multiple found
|
||||
-c <custom path> search in the specified path instead of $PATH
|
||||
-h display this message'
|
||||
echo \
|
||||
"Exit codes:
|
||||
0 found
|
||||
1 not found
|
||||
2 error"
|
||||
exit 0
|
||||
;;
|
||||
?)
|
||||
echo "Usage: $0 [-a] [-c <custom path>] <command>"
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
IFS='
|
||||
'
|
||||
for directory in $internal_path; do
|
||||
if [ -e "$directory/$1" ]; then
|
||||
echo "$directory/$1"
|
||||
if [ "$all" = "yes" ]; then
|
||||
found="yes"
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$found" = "yes" ]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue