Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file. Bash also incorporates useful features from the Korn and C shells (ksh and csh).
- -c: If this option is present, then commands are read from string. If there are arguments after the string, they are assigned to the positional parameters, starting with $0.
- -i: If this option is present, the shell is interactive.
- -l: Make bash act as if it had been invoked as a login shell.
- -r: If this option is present, the shell becomes restricted.
- -s: If this option is present, or if no arguments remain after option processing, then commands are read from the standard input. This option allows the positional parameters to be set when invoking an interactive shell.
- -s: List only the name, line and time fields. This is the default.
- -T: Print a character after the user name indicating the state of the terminal line: `+' if the terminal is writable; `-' if it is not; and `?' if a bad line is encountered.
- -u: Print the idle time for each user, and the associated process ID.
- am I: Returns the invoker's real user name.
- file: By default, who gathers information from the file /var/run/utmpx. An alternative file may be specified.