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