gave sheelutils a more appropriate name and added which

master
BodgeMaster 2022-06-08 02:44:09 +02:00
parent b80eb821c8
commit 6366167443
2 changed files with 57 additions and 0 deletions

0
miniutils/groups → shellutils/groups Normal file → Executable file
View File

57
shellutils/which Executable file
View File

@ -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