Getting value out of "man getopts"

Arthur Chance freebsd at qeng-ho.org
Tue Aug 4 11:41:18 UTC 2015


On 04/08/2015 12:06, Steve O'Hara-Smith wrote:
> On Tue, 4 Aug 2015 11:51:20 +0100
> RW via freebsd-questions <freebsd-questions at freebsd.org> wrote:
>
>> On Mon, 3 Aug 2015 20:45:59 +0000 (UTC)
>> Christian Weisgerber wrote:
>>
>>
>>>> Questions:
>>>> 1. Why does "man getopts" not help me with "getopts"?
>>>
>>> Because getopts only exists as a shell built-in, not as a standalone
>>> command.  Maybe you were thinking of getopt(1).
>>
>>
>> $ which  getopts
>> /usr/bin/getopts
>>
>> It is implemented in sh, but it does exist.
>
> 	However /usr/bin/getopts is linked to alias, bg, cd, command, fc,
> fg, hash, jobs, read, type, ulimit, umask, unalias and wait (all
> in /usr/bin).
>

And they're all the sh script

#!/bin/sh
# $FreeBSD: releng/10.1/usr.bin/alias/generic.sh 151635 2005-10-24 
22:32:19Z cperciva $
# This file is in the public domain.
builtin ${0##*/} ${1+"$@"}

I.e. the /usr/bin external versions of sh builtins are simply 
exec(2)-able wrappers on the internal forms. The source is in 
/usr/src/usr.bin/alias if anyone's interested.

-- 
Those who do not learn from computing history are doomed to
GOTO 1


More information about the freebsd-questions mailing list