|
Go to the previous, next chapter.
This section describes commands that run other commands in
some context different than the current one: a modified
environment, as a different user, etc.
env runs a command with an environment modified
as specified by the command line arguments.
Synopses:
env [ option ]... [ name=value ]... @c
[ command [ args ]... ]
env
Arguments of the form variable=value
set the environment variable variable to value value. value
may be empty (variable=).
Setting a variable to an empty value is different from unsetting
it.
The first remaining argument specifies the program name to
invoke; it is searched for according to the PATH
environment variable. Any remaining arguments are passed as
arguments to that program.
If no command name is specified following the environment
specifications, the resulting environment is printed. This is
like specifying a command name of printenv.
The program accepts the following options. Also see section Common options.
-u name - --unset=name
- -u - -unset - Remove variable name
from the environment, if it was in the environment.
- - -i - --ignore-environment - -
- -i - --ignore-environment - Start with an
empty environment, ignoring the inherited environment.
If no arguments are given, nice prints the
current scheduling priority, which it inherited. Otherwise, nice
runs the given command with its scheduling priority
adjusted. If no adjustment is given, the priority of
the command is incremented by 10. You must have appropriate
privileges to specify a negative adjustment. The priority can be
adjusted by nice over the range of -20 (the highest
priority) to 19 (the lowest).
Synopsis:
nice [ option ]... [ command [ arg ]... ]
Because most shells have a built-in command by the same name,
using the unadorned command name in a script or interactively may
get you different functionality than that described here.
The program accepts the following option. Also see section Common options.
- -n adjustment - -adjustment
- --adjustment=adjustment - -n
- --adjustment - -adjustment
- Add adjustment instead of 10 to the
command's priority.
@flindex nohup.out nohup runs the given command
with hangup signals ignored, so that the command can continue
running in the background after you log out.
Synopsis:
nohup command [ arg ]...
@flindex nohup.out Also, the scheduling priority is increased
by 5. If standard output is a tty, it and standard error are
redirected so that they are appended to the file nohup.out;
if that cannot be written to, they are appended to the file $HOME/nohup.out.
If that cannot be written to, the command is not run.
If nohup creates either nohup.out or $HOME/nohup.out,
it creates it with no ``group'' or ``other'' access permissions.
It does not change the permissions if the output file already
existed.
nohup does not automatically put the command it
runs in the background; you must do that explicitly, by ending
the command line with an &.
The only options are --help and --version.
See section Common options.
su allows one user to temporarily become another
user. It runs a command (often an interactive shell) with the
real and effective user id, group id, and supplemental groups of
a given user.
Synopsis:
su [ option ]... [ user [ arg ]... ]
@flindex /bin/sh @flindex /etc/passwd If no user is
given, the default is root, the super-user. The
shell to use is taken from user's passwd
entry, or /bin/sh if none is specified there. If user
has a password, su prompts for the password unless
run by a user with effective user id of zero (the super-user).
By default, su does not change the current
directory. It sets the environment variables HOME
and SHELL from the password entry for user,
and if user is not the super-user, sets USER
and LOGNAME to user. By default, the
shell is not a login shell.
Any additional args are passed as additional
arguments to the shell.
GNU su does not treat /bin/sh or any
other shells specially (e.g., by setting argv[0] to -su,
passing -c only to certain shells, etc.).
su can optionally be compiled to use syslog
to report failed, and optionally successful, su
attempts. (If the system supports syslog.) However,
GNU su does not check if the user is a member of the wheel
group; see below.
The program accepts the following options. Also see section Common options.
- -c command - --command=command
- -c - --command - Pass command,
a single command line to run, to the shell with a
-c
option instead of starting an interactive shell.
-f - --fast - -f - --fast
- @flindex .cshrc Pass the -f option to the
shell. This probably only makes sense if the shell run is csh
or tcsh, for which the -f
option prevents reading the startup file (.cshrc).
With Bourne-like shells, the -f option
disables file name pattern expansion (globbing), which is
not likely to be useful.
- - -l - --login - - - -l
- --login - Make the shell a login shell. This
means the following. Unset all environment variables
except TERM, HOME, and SHELL
(which are set as described above), and USER
and LOGNAME (which are set, even for the
super-user, as described above), and set PATH
to a compiled-in default value. Change to user's
home directory. Prepend - to the shell's
name, intended to make it read its login startup file(s).
-m - -p - --preserve-environment
- -m - -p - --preserve-environment -
@flindex /etc/shells Do not change the environment
variables HOME, USER, LOGNAME,
or SHELL. Run the shell given in the
environment variable SHELL instead of the
shell from user's passwd entry, unless the
user running su is not the superuser and user's
shell is restricted. A restricted shell is one
that is not listed in the file /etc/shells, or
in a compiled-in list if that file does not exist. Parts
of what this option does can be overridden by --login
and --shell.
-s shell - --shell=shell
- -s - --shell - Run shell
instead of the shell from user's passwd entry,
unless the user running su is not the
superuser and user's shell is restricted (see -m
just above).
(This section is by Richard Stallman.)
Sometimes a few of the users try to hold total power over all
the rest. For example, in 1984, a few users at the MIT AI lab
decided to seize power by changing the operator password on the
Twenex system and keeping it secret from everyone else. (I was
able to thwart this coup and give power back to the users by
patching the kernel, but I wouldn't know how to do that in Unix.)
However, occasionally the rulers do tell someone. Under the
usual su mechanism, once someone learns the root
password who sympathizes with the ordinary users, he or she can
tell the rest. The ``wheel group'' feature would make this
impossible, and thus cement the power of the rulers.
I'm on the side of the masses, not that of the rulers. If you
are used to supporting the bosses and sysadmins in whatever they
do, you might find this idea strange at first.
To return to the Ready-to-Run Software Win95Pak Table of Contents please press here.
|