The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008, 2016 Edition
Copyright © 2001-2016 The IEEE and The Open Group

#### NAME

> alias - define or display aliases

#### SYNOPSIS

> ``alias` [alias-name[`=`string]`...`]`

#### DESCRIPTION

> The alias utility shall create or redefine alias definitions or write the values of existing alias definitions to standard output. An alias definition provides a string value that shall replace a command name when it is encountered; see Alias Substitution.

> An alias definition shall affect the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this volume of POSIX.1-2008, the alias definition shall not affect the parent process of the current shell nor any utility environment invoked by the shell; see Shell Execution Environment.

#### OPTIONS

> None.

#### OPERANDS

> The following operands shall be supported:

> alias-name
>   Write the alias definition to standard output.
> alias-name=string
>   Assign the value of string to the alias alias-name.

> If no operands are given, all alias definitions shall be written to standard output.

#### STDIN

> Not used.

#### INPUT FILES

> None.

#### ENVIRONMENT VARIABLES

> The following environment variables shall affect the execution of alias:

> LANG
>   Provide a default value for the internationalization variables that are unset or null. (See XBD Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.)
> LC_ALL
>   If set to a non-empty string value, override the values of all the other internationalization variables.
> LC_CTYPE
>   Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments).
> LC_MESSAGES
>   Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error.
> NLSPATH
>   [XSI] Determine the location of message catalogs for the processing of LC_MESSAGES.

#### ASYNCHRONOUS EVENTS

> Default.

#### STDOUT

> The format for displaying aliases (when no operands or only name operands are specified) shall be:

>     "%s=%s\n", name, value

> The value string shall be written with appropriate quoting so that it is suitable for reinput to the shell. See the description of shell quoting in Quoting.

#### STDERR

> The standard error shall be used only for diagnostic messages.

#### OUTPUT FILES

> None.

#### EXTENDED DESCRIPTION

> None.

#### EXIT STATUS

> The following exit values shall be returned:

> 0
>   Successful completion.
> >0
>   One of the name operands specified did not have an alias definition, or an error occurred.

#### CONSEQUENCES OF ERRORS

> Default.

The following sections are informative.

#### APPLICATION USAGE

> None.

#### EXAMPLES

> 1. Create a short alias for a commonly used ls command:

>        alias lf="ls -CF"

> 2. Create a simple "redo" command to repeat previous entries in the command history file:

>        alias r='fc -s'

> 3. Use 1K units for du:

>        alias du=du\ -k

> 4. Set up nohup so that it can deal with an argument that is itself an alias name:

>        alias nohup="nohup "

#### RATIONALE

> The alias description is based on historical KornShell implementations. Known differences exist between that and the C shell. The KornShell version was adopted to be consistent with all the other KornShell features in this volume of POSIX.1-2008, such as command line editing.

> Since alias affects the current shell execution environment, it is generally provided as a shell regular built-in.

> Historical versions of the KornShell have allowed aliases to be exported to scripts that are invoked by the same shell. This is triggered by the alias -x flag; it is allowed by this volume of POSIX.1-2008 only when an explicit extension such as -x is used. The standard developers considered that aliases were of use primarily to interactive users and that they should normally not affect shell scripts called by those users; functions are available to such scripts.

> Historical versions of the KornShell had not written aliases in a quoted manner suitable for reentry to the shell, but this volume of POSIX.1-2008 has made this a requirement for all similar output. Therefore, consistency was chosen over this detail of historical practice.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> Function Definition Command

> XBD Environment Variables

#### CHANGE HISTORY

> First released in Issue 4.

#### Issue 6

> This utility is marked as part of the User Portability Utilities option.

> The APPLICATION USAGE section is added.

#### Issue 7

> The alias utility is moved from the User Portability Utilities option to the Base. User Portability Utilities is now an option for interactive utilities.

> SD5-XCU-ERN-97 is applied, updating the SYNOPSIS.

> The first example is changed to remove the creation of an alias for a standard utility that alters its behavior to be non-conforming.

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2016 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]