Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
Copyright 1989 AT&T
Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures
Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/.
The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material.
/usr/bin/alias [alias-name[= string...]]
/usr/bin/unalias alias-name...
/usr/bin/unalias -a
alias [name [def]]
unalias pattern
alias [-tx] [name[= value]...]
unalias name...
unalias [-a]
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 with no arguments prints the list of aliases in the form name=value on standard output. An alias is defined for each name whose value is specified. A trailing space in value causes the next word to be checked for alias substitution. The -t flag is used to set and list tracked aliases. The value of a tracked alias is the full pathname corresponding to the specified name. The value becomes undefined when the value of PATH is reset but the aliases remained tracked. Without the -t flag, for each name in the argument list for which no value is specified, the name and value of the alias is printed. The -x flag is used to set or print exported aliases. An exported alias is defined for scripts invoked by name. The exit status is non-zero if a name is specified, but no value, and no alias has been defined for the name.
The aliass specified by the list of names can be removed from the alias list with 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 option is supported by alias:
-t
Sets and lists tracked aliases.
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\en" 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(7) 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(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | system/core-os |
Interface Stability | Committed |
Standard | See standards(7). |
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | system/core-os |
Interface Stability | Uncommitted |
csh(1), ksh(1), ksh88(1), shell_builtins(1), attributes(7), environ(7), standards(7)