mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-21 09:33:46 +00:00
initial commit of 'which' utility and help page.
This commit is contained in:
parent
c6cdd2d10b
commit
8bd9dbd4e0
77
BIN/WHICH.txt
Normal file
77
BIN/WHICH.txt
Normal file
@ -0,0 +1,77 @@
|
||||
NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
#!/bin/sh
|
||||
#
|
||||
# which
|
||||
#
|
||||
# locates a program in path
|
||||
#
|
||||
|
||||
set -E
|
||||
|
||||
if [ -z $1 ]
|
||||
echo "USAGE: which program ..."
|
||||
exit 120
|
||||
fi
|
||||
|
||||
set T = "${TEMP}which$$.tmp"
|
||||
set A = 0
|
||||
set F = 0
|
||||
set S = 0
|
||||
set L = 1
|
||||
|
||||
# get options
|
||||
while [ ${L} -eq 1 ]
|
||||
if [ $1 = "-a" ] or [ $1 = "-A" ]
|
||||
set A = 1
|
||||
shift
|
||||
else
|
||||
if [ $1 = "-s" ] or [ $1 = "-S" ]
|
||||
set S = 1
|
||||
shift
|
||||
else
|
||||
set L = 0
|
||||
fi
|
||||
fi
|
||||
loop
|
||||
|
||||
# split dirs in path
|
||||
echo ${PATH} > ${T}
|
||||
set L = `sed "s/:/ /" ${T}`
|
||||
rm -q -c ${T}*
|
||||
|
||||
# find instances
|
||||
while [ $# -gt 0 ]
|
||||
set F = ${F} + 1
|
||||
for D in ${L}
|
||||
# check for file
|
||||
if [ ${S} -eq 0 ]
|
||||
ls -f ${D}$1
|
||||
set T = $?
|
||||
else
|
||||
ls -f ${D}$1 > /dev/null
|
||||
set T = $?
|
||||
fi
|
||||
|
||||
# process result
|
||||
if [ ${T} -eq 0 ]
|
||||
set F = ${F} - 1
|
||||
if [ ${A} -eq 0 ]
|
||||
break
|
||||
fi
|
||||
fi
|
||||
next
|
||||
shift
|
||||
loop
|
||||
|
||||
# -s numeric result
|
||||
if [ ${S} -gt 0 ]
|
||||
if [ ${F} -eq 0 ]
|
||||
exit 0
|
||||
else
|
||||
exit 70
|
||||
fi
|
||||
|
||||
MAN
|
||||
TEXT /BIN/which
|
44
HELP/which.txt
Normal file
44
HELP/which.txt
Normal file
@ -0,0 +1,44 @@
|
||||
TITLE
|
||||
A2osX which (bin/which) Command Help
|
||||
|
||||
which -- locate a program file in the user's path
|
||||
|
||||
SYNOPSIS
|
||||
which program ...
|
||||
|
||||
DESCRIPTION
|
||||
The which utility takes a list of command names and searches the path for
|
||||
each and will report back which specific executable would have been picked
|
||||
up if the command was actually run.
|
||||
|
||||
The which utility accepts the following options:
|
||||
|
||||
-a List all instances found instead of just the first one.
|
||||
|
||||
-s No output, just return 0 if all programs are found, or 1 if
|
||||
some were not found.
|
||||
|
||||
PAGE
|
||||
EXAMPLES
|
||||
Locate the cp and ls commands:
|
||||
|
||||
# which cp ls
|
||||
/FULL32/bin/cp
|
||||
/FULL32/bin/ls
|
||||
|
||||
Do not show output, just return code:
|
||||
|
||||
# which -s seq
|
||||
# echo $?
|
||||
0
|
||||
|
||||
# which -s fakecmd
|
||||
# echo $?
|
||||
1
|
||||
|
||||
|
||||
HISTORY
|
||||
The which command first appeared in FreeBSD 2.1 and was a Perl script
|
||||
written by Wolfram Schneider <wosch@FreeBSD.org>. The A2osX which command
|
||||
was developed by Brian J. Bernstein <brian@dronefone.com> in Dec 2022.
|
||||
|
Loading…
Reference in New Issue
Block a user