ALIAS(1) User Commands ALIAS(1)

alias, unalias - create or remove a pseudonym or shorthand for a command or series of commands

/usr/bin/alias [alias-name[= string...]]

/usr/bin/unalias alias-name...

/usr/bin/unalias -a

alias [name [def]]

unalias pattern

alias [-ptx] [name[= value]...]

unalias [-a] [name...]

The alias and unalias utilities create or remove a pseudonym or shorthand term for a command or series of commands, with different functionality in the C-shell and Korn shell environments.

The alias utility creates or redefines alias definitions or writes the values of existing alias definitions to standard output. An alias definition provides a string value that replaces a command name when it is encountered.

An alias definition affects the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this document, the alias definition does not affect the parent process of the current shell nor any utility environment invoked by the shell.

The unalias utility removes the definition for each alias name specified. The aliases are removed from the current shell execution environment. The -a option removes all alias definitions from the current execution environment.

alias assigns def to the alias name. The assigned def is a list of words that can contain escaped history-substitution metasyntax. name is not allowed to be alias or unalias. If def is omitted, the alias name is displayed along with its current definition. If both name and def are omitted, all aliases are displayed.

Because of implementation restrictions, an alias definition must have been entered on a previous command line before it can be used.

unalias discards aliases that match (filename substitution) pattern. All aliases can be removed by `unalias *'.

alias creates or redefines alias definitions or writes the existing alias definitions to standard output.

An alias definition provides a string value that replaces a command name when the command is read. Alias names can contain any printable character that is not special to the shell. If an alias value ends in a SPACE or TAB, the word following the command name the alias replaces is also checked to see whether it is an alias.

If no names are specified, the names and values of all aliases are written to standard output. Otherwise, for each name that is specified, and =value is not specified, the current value of the alias corresponding to name is written to standard output. If =value is specified, the alias name is created or redefined.

alias is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on value. An alias definition only affects scripts read by the current shell environment. It does not affect scripts run by this shell.

unalias removes the definition of each named alias from the current shell execution environment, or all aliases if -a is specified. It does not affect any commands that have already been read and subsequently executed.

The following option is supported by unalias:

-a

Removes all alias definitions from the current shell execution environment.

The following options are supported by alias:

-p

Causes the output to be in the form of alias commands that can be used as input to the shell to recreate the current aliases.

-t

Specifies tracked aliases.

Tracked aliases connect a command name to the command's pathname, and are reset when the PATH variable is unset. The tracked aliases feature is now obsolete.

-x

Ignored, this option is obsolete.

The following option is supported by unalias:

-a

Causes all alias definitions to be removed. name operands are optional and ignored if specified.

The following operands are supported:

alias-name
Write the alias definition to standard output.

alias-name
The name of an alias to be removed.

alias-name=string

Assign the value of string to the alias alias-name.

If no operands are specified, all alias definitions are written to standard output.

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


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

The value string is written with appropriate quoting so that it is suitable for reinput to the shell.

Example 1 Modifying a Command's Output

This example specifies that the output of the ls utility is columnated and more annotated:


example% alias ls="ls −CF"

Example 2 Repeating Previous Entries in the Command History File

This example creates a simple "redo" command to repeat previous entries in the command history file:


example% alias r='fc −s'

Example 3 Specifying a Command's Output Options

This example provides that the du utility summarize disk output in units of 1024 bytes:


example% alias du=du −k

Example 4 Dealing with an Argument That is an Alias Name

This example sets up the nohup utility so that it can deal with an argument that is an alias name:


example% alias nohup="nohup "

See environ(5) for descriptions of the following environment variables that affect the execution of alias and unalias: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.

The following exit values are returned:

0

Successful completion.

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

>0
One of the alias-name operands specified did not represent a valid alias definition, or an error occurred.

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
Standard See standards(5).

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Uncommitted

csh(1), ksh(1), ksh93(1), shell_builtins(1), attributes(5), environ(5), standards(5)
February 9, 2021