Commit Graph

65 Commits

Author SHA1 Message Date
Jilles Tjoelker
0a62a9caa9 sh: Add kill builtin.
This allows specifying a %job (which is equivalent to the corresponding
process group).

Additionally, it improves reliability of kill from sh in high-load
situations and ensures "kill" finds the correct utility regardless of PATH,
as required by POSIX (unless the undocumented %builtin mechanism is used).

Side effect: fatal errors (any error other than kill(2) failure) now return
exit status 2 instead of 1. (This is consistent with other sh builtins, but
not in NetBSD.)

Code size increases about 1K on i386.

Obtained from:	NetBSD
2010-12-21 22:47:34 +00:00
Jilles Tjoelker
9897c45f31 sh: Add printf builtin.
This was removed in 2001 but I think it is appropriate to add it back:
* I do not want to encourage people to write fragile and non-portable echo
  commands by making printf much slower than echo.
* Recent versions of Autoconf use it a lot.
* Almost no software still wants to support systems that do not have
  printf(1) at all.
* In many other shells printf is already a builtin.

Side effect: printf is now always the builtin version (which behaves
identically to /usr/bin/printf) and cannot be overridden via PATH (except
via the undocumented %builtin mechanism).

Code size increases about 5K on i386. Embedded folks might want to replace
/usr/bin/printf with a hard link to /usr/bin/alias.
2010-11-19 12:56:13 +00:00
Ulrich Spörlein
9dc9ab104c Remove Xo/Xc in It, which is not yet supported by mdocml but
can be worked around trivially in this case.
2010-06-11 06:04:00 +00:00
Jilles Tjoelker
e2404784e6 builtin(1): sh has no @ builtin command.
MFC after:	1 week
2010-05-09 15:00:30 +00:00
Jilles Tjoelker
36f8c7ebef Make hash, type and ulimit available via execve().
These are specified by POSIX but are not special builtins, and therefore
need to be available via execve() and utilities like time, nohup, xargs.
(Note that hash was moved from the XSI option to the base in the 2008
standard.)

Like most of the POSIX "regular builtin commands", these need to be executed
in a shell environment for full functionality, although they may still be of
some use outside one.

Unlike the POSIX special and regular builtin commands, POSIX does not
require these to be found before a PATH search, although that could be an
oversight.

Like some of the utilities already provided by usr.bin/alias, these may lead
to confusing results when invoked from csh(1).
2010-04-25 17:38:53 +00:00
Jilles Tjoelker
bf59faa385 builtin(1): Add missing escaping for !, . and : in the table.
This caused these commands to look differently (not bold) from the other
commands in the table (bold).

MFC after:	1 week
2010-04-24 22:24:26 +00:00
Jilles Tjoelker
2d61a2a477 builtin(1): Mention [ sh builtin.
MFC after:	1 week
2010-04-24 22:16:01 +00:00
Ruslan Ermilov
15fc3deb37 Fix markup. 2006-12-26 22:25:58 +00:00
Ruslan Ermilov
5a395b5422 Nitpicking: <sysexits.h> defines exit codes. 2006-12-24 10:25:23 +00:00
Ruslan Ermilov
39cbc61477 Make the SYNOPSIS section more meaningful.
PR:		docs/85066
Submitted by:	Gary W. Swearingen
MFC after:	3 days
2006-10-13 20:37:23 +00:00
Ruslan Ermilov
72377e4c4b Sort MAN and MLINKS lists. 2006-10-05 12:40:44 +00:00
Stefan Farfeleder
45244a5d13 Add an MLINKS entry for times.1.
Noticed by:	ru
2005-12-05 08:01:10 +00:00
Stefan Farfeleder
aeca3a4d15 Add the times builtin. 2005-12-04 18:59:34 +00:00
Gary W. Swearingen
628f88b8b4 Added missing builtins; a few other clean-ups.
- The first "alias" "Yes" should be "No**".
- Made "builtin echo command" consistent with csh and sh manpages.
- In group of 3 interactive commands, 2 used .Pa instead of .Ic.
- "Name" section now has "builtin" and "built-in" for better apropos.
- Added these builtins: !, %, ., :, @, {, }, local, return

PR:             docs/85065
Approved by:    keramida
MFC after:      3 days
2005-09-09 17:02:08 +00:00
Daniel Harris
22550c0031 Add a missing ** to the 'command' command.
PR:		79877
Submitted by:	Kazuaki Oda <ybbkaz@yahoo.co.jp>
Reviewed by:	ru
Approved by:	re
MFC after:	1 day
2005-07-02 19:51:11 +00:00
Ruslan Ermilov
c1ef2d47b1 Add missing command name.
(The error was visible on stderr.)

Approved by:	re
2005-06-15 13:21:44 +00:00
Tom Rhodes
0439a1cb84 Update list of utilitys which are implemented externally, Xref info.1,
clean up some text, bump doc date.

PR:		47690
Submitted by:	Gary W. Swearingen <swear@attbi.com> (original version)
2005-02-23 22:37:17 +00:00
Ruslan Ermilov
6b806d21d1 Fixed the misplaced $FreeBSD$. 2005-02-09 18:07:17 +00:00
Ruslan Ermilov
b760de9691 Use a single style for share/man/ makefiles:
- Sort MAN and MLINKS in "dictionary" order ignoring case.

- For multi-value MAN and multi-pair MLINKS, put each value/pair
  on its own line, for easier sorting and so that further diffs
  are easier to see.
2004-01-20 10:27:23 +00:00
Tim J. Robbins
8030ad187e Mention the new bind(1) sh builtin. 2002-07-23 14:38:07 +00:00
Sheldon Hearn
5098ee792a One external utility was ommitted in the previous delta:
alias
2002-07-17 15:34:25 +00:00
Sheldon Hearn
8b98c6bf7c The following builtins are now available as external commands as well:
bg
        cd
        command
        fc
        fg
        getopts
        jobs
        read
        umask
        unalias
        wait
2002-07-17 07:12:37 +00:00
Akinori MUSHA
018d9f6237 Remove the printf builtin command from sh(1), which command is not
used so often that it's worth keeping it as a builtin.

Now that all the printf invocations from within the system startup
scripts, we can safely remove it.

Urged by:	sheldonh  :)

No MFC is planned so far because it may break compatibility and
violate POLA.
2001-11-20 18:33:59 +00:00
Akinori MUSHA
80f5a425c1 Add false(1), test(1) and true(1) cross-references.
Pointed out by:	sheldonh
2001-11-20 13:05:53 +00:00
Akinori MUSHA
d90c5c4ab4 Make test(1) a builtin command of our sh(1) for efficiency. The
binary size increase is 3,784 bytes (about 0.6%).

I don't drop the printf builtin while I'm here because some /etc/rc.*
scripts seem to use it before mounting /usr where printf(1) resides.

Reviewed by:	arch (sheldonh)
Inspired by:	NetBSD, ksh
Clued by:	ume (on how the printf builtin is used)
2001-11-17 19:10:11 +00:00
Dima Dorfman
ee9dc9c595 Explain a little about sysexits(3) so that regular users can take
advantage of the fact that some programs care to explain why they
failed.

PR:		31415
2001-10-23 00:46:13 +00:00
Ruslan Ermilov
6575e6daae mdoc(7) police: expand plain text xrefs. 2001-08-08 11:48:28 +00:00
Jens Schweikhardt
c1f3e4bf21 Removed whitespace at end-of-line; no content changes. I simply did
cd src/share; find man[1-9] -type f|xargs perl -pi -e 's/[ \t]+$//'

BTW, what editors are the culprits? I'm using vim and it shows
me whitespace at EOL in troff files with a thick blue block...

Reviewed by:	Silence from cvs diff -b
MFC after:	7 days
2001-07-14 19:41:16 +00:00
Dima Dorfman
bd737b2099 "break", "chdir", "continue", "else", and "while" are sh(1) builtins;
mark them as such.

PR:		26702
2001-04-25 05:53:20 +00:00
Dima Dorfman
aac938629a Indicate that sh(1) has an 'if' builtin command.
PR:		26193
2001-04-01 01:08:33 +00:00
Ruslan Ermilov
acaf79e1b9 MAN[1-9] -> MAN. 2001-03-27 13:48:25 +00:00
Ruslan Ermilov
fb7912f8ba Prepare for mdoc(7)NG. 2001-01-22 10:44:54 +00:00
Ruslan Ermilov
4b66483fd8 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 18:41:33 +00:00
Sheldon Hearn
68acfb0617 Update the builtin(1) manpage to reflect changes since the csh(1)
to tcsh(1) upgrade.  The following commands were added as builtins:

	bindkey
	builtins
	complete
	echotc
	filetest
	hup
	log
	ls-F
	printenv
	sched
	settc
	setty
	telltc
	uncomplete
	where

The printf builtin was removed.
2000-05-09 14:59:06 +00:00
Sheldon Hearn
4f262adde3 Remove the MLINKS entry for cwd, since it's no longer listed in the
builtin.1 page.
2000-05-08 16:23:56 +00:00
Sheldon Hearn
07593bef67 Remove the bogusly inserted ``cwd'' which isn't a builtin command
to sh, csh nor tcsh.

Fix the header line of the table to use cross-references and
emphasis.
2000-05-08 15:59:23 +00:00
Sheldon Hearn
b3736d8d1e I didn't expect this to be merged to STABLE. It was, so correct the
HISTORY section.
2000-03-03 09:28:05 +00:00
Sheldon Hearn
8d4c0be368 Add missing entry for read(1) to the builtin(1) manual page and
add an MLINKS entry for it.  I can't imagine how I missed this one.
2000-03-01 14:13:29 +00:00
Sheldon Hearn
cde6156df8 Fix the availability table, which incorrectly indicated that sh(1)
does not have a builtin set command.
1999-12-20 16:29:56 +00:00
Sheldon Hearn
2e9d38764f Remove the wait.1 manpage. There is no userland wait(1) utility, and the
manpage does not describe the builtin wait command provided by either
of the standard shells. There is already an entry for wait.1 in the
builtins.1 MLINKS list.
1999-09-20 08:45:43 +00:00
Sheldon Hearn
e6d3cf2648 Correct some hard sentence breaks. Only those surrounding the previous
commit and those which cause ugly nroff output have been fixed, since
the purpose of the style guideline which they contravene is to reduce
the sizes of deltas.

Reported by:	bde
1999-09-14 11:46:04 +00:00
Bruce Evans
ea14abdc6c Fixed breakage of intro.1 -> introduction.1 link and minor disordering in
previous commit.
1999-09-11 04:59:47 +00:00
Sheldon Hearn
c644db6aa2 Improve shell documentation:
* Consistently misspell built-in as builtin.

* Add a builtin(1) manpage and create builtin(1) MLINKS for all shell
  builtin commands for which no standalone utility exists.  These MLINKS
  replace those that were created for csh(1).

* Add appropriate xrefs for builtin(1) to the csh(1) and sh(1) manpages,
  as well as to the manpages of standalone utilities which are supported
  as shell builtin commands in at least one of the shells. In such
  manpages, explain that similar functionality may be provided as a
  shell builtin command.

* Improve sh(1)'s description of the cd builtin command. Csh(1) already
  describes it adequately. Replace the cd(1) manpage with a builtin(1)
  MLINKS link.

* Clean up some mdoc problems: use Xr instead of literal "foo(n)"; use
  Ic instead of Xr for shell builtin commands.

* Undo English contractions.

Reviewed by:	mpp, rgrimes
1999-09-08 15:40:46 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Mike Pritchard
def37e7c68 Various man page cleanup:
- Sort xrefs
- FreeBSD.ORG -> FreeBSD.org
- Be consistent with section names as outlined in mdoc(7).
- Other misc mdoc cleanup.

PR:		doc/13144
Submitted by:	Alexey M. Zelkin <phantom@cris.net>
1999-08-15 10:48:36 +00:00
Bill Fumerola
5175e4a53d security(1) doesn't exist, but security(7) does.
PR:		docs/10478
Submitted by:	Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
1999-03-20 04:03:56 +00:00
Matthew Dillon
1641c009a5 Moving security page to section 7 1998-12-20 20:11:25 +00:00
Matthew Dillon
846eedde28 Add quick overview of basic firewalling practices 1998-12-20 20:05:44 +00:00
Matthew Dillon
dc36fd0f8e Add information on how to deal with DOS attacks 1998-12-20 19:49:43 +00:00
Bruce Evans
6a157c8648 FIxed unsorting of cross references in previous commit. 1998-12-20 06:30:05 +00:00