"ill...@gmail.com" <ill...@gmail.com> wrote:

> (there is an executable named /usr/bin/jobs, but . . .
> well run "cat /usr/bin/jobs" & see for yourself).

Whoa!  Does /usr/bin/jobs even work?

  $ cat /usr/bin/jobs
  # $FreeBSD: src/usr.bin/alias/generic.sh,v 2010/06/14 02:09:06 
kensmith Exp $
  # This file is in the public domain.
  builtin ${0##*/} ${1+"$@"}

It looks as if generic.sh intends to have the same effect as the
builtin matching the name under which the script is run, but at
least for "jobs" I don't think it will DTRT because it will run
in the wrong context:

* The builtin "jobs" command will report all background jobs known
  to the shell in which it is issued.

* Because it is a shebang script, running /usr/bin/jobs will cause
  the shell in which it is run to fork/exec an instance of /bin/sh,
  and that instance will execute the /usr/bin/jobs script, thus it
  will will be the new /bin/sh instance that executes _its_ builtin
  "jobs" command -- reporting nothing, since _that_ instance has not
  put anything into the background (and has no knowledge of what-all
  its parent shell may have put in the background).
freebsd-questions@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to