xref: /illumos-gate/usr/src/man/man1/alias.1 (revision 99ea293e719ac006d413e4fde6ac0d5cd4dd6c59)

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 SunOS 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.

The contents of this file are subject to the terms of the
Common Development and Distribution License (the "License").
You may not use this file except in compliance with the License.

You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions
and limitations under the License.

When distributing Covered Code, include this CDDL HEADER in each
file and include the License file at usr/src/OPENSOLARIS.LICENSE.
If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying
information: Portions Copyright [yyyy] [name of copyright owner]


Copyright 1989 AT&T
Portions Copyright (c) 1992, X/Open Company Limited. All Rights Reserved.
Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures
Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.

ALIAS 1 "Apr 8, 2008"
NAME
alias, unalias - create or remove a pseudonym or shorthand for a command or series of commands
SYNOPSIS

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

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

/usr/bin/unalias -a
"csh"

alias [name [def]]

unalias pattern
"ksh"

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

unalias name...

unalias [-a]
"ksh93"

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

unalias [-a] [name...]
DESCRIPTION

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.

"csh"

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 *'.

"ksh"

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.

"ksh93"

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.

OPTIONS

The following option is supported by unalias: -a

Removes all alias definitions from the current shell execution environment.

"ksh"

The following option is supported by alias: -t

Sets and lists tracked aliases.

"ksh93"

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.

OPERANDS

The following operands are supported:

"alias"
alias-name

Write the alias definition to standard output.

"unalias"
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.

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.

EXAMPLES

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 "
ENVIRONMENT VARIABLES

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.

EXIT STATUS

The following exit values are returned: 0

Successful completion.

"alias"
>0

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

"unalias"
>0

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

ATTRIBUTES

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

"csh, ksh"
ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
Standard See standards(5).
"ksh93"
ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Uncommitted
SEE ALSO

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