手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

unalias(1)

名称

alias , unalias - 创建或删除一条命令或一系列命令的别名或简写

用法概要

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

csh

alias [name [def]]
unalias pattern

ksh88

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

ksh

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

描述

alias 和 unalias 实用程序可以为在 C-shell 和 Korn shell 环境中具有不同功能的一条命令或一系列命令创建或删除别名或简写。

/usr/bin/alias

alias 实用程序可以创建或重新定义别名定义,或将现有别名定义的值写入标准输出。别名定义提供遇到时可以替代命令名称的字符串值。

别名定义影响当前 shell 执行环境以及当前 shell 的子 shell 执行环境。如果按照本文档指定的方法使用,则别名定义不会影响当前 shell 的父进程,也不会影响该 shell 调用的任何实用程序环境。

/usr/bin/unalias

unalias 实用程序删除指定的所有别名的定义。别名从当前 shell 执行环境中删除。–a 选项从当前执行环境中删除所有别名定义。

csh

alias 将 def 分配给别名 name。分配的 def 是可以包含转义历史替换元语法的词列表。name 不能为 alias 或 unalias。如果省略 def,则别名 name 与其当前定义一起显示。如果同时省略 name 和 def,则显示所有别名。

由于实现限制,必须首先在前一命令行中输入别名定义,然后才能使用该别名。

unalias 废弃与 pattern 匹配(文件名替换)的别名。所有别名都可以由 `unalias *' 删除。

ksh88

不包含参数的 alias 可在标准输出中以 name=value 格式显示别名列表。alias 针对指定了 value 的每个名称进行定义。可通过 value 中的结尾空格选中下一个单词进行别名替换。–t 标志用于设置和列出被跟踪的别名。被跟踪别名的值是与指定的 name 对应的完整路径名。如果 PATH 的值重置但别名仍被跟踪,则被跟踪别名的值将变成未定义的值。如果没有 –t 标志,则对于参数列表中没有为其指定 value 的每个 name,都将显示别名的名称和值。–x 标志用于设置或显示 exported alias。导出的别名针对 name 调用的脚本进行定义。如果指定了 name,但没有提供值,也没有为 name 定义别名,则退出状态为非零值。

name 列表指定的 alias 可以使用 unalias 从 alias 列表删除。

ksh

alias 可以创建或重新定义别名定义,或将现有别名定义写入标准输出。

别名定义提供读取命令时可以替代命令名称的字符串值。别名可以包含对 shell 来说不属于特殊字符的任何可显示字符。如果别名值以 SPACE 或 TAB 结尾,则还会检查别名替代的命令名称后面的词,以确认它是否是别名。

如果未指定名称,则所有别名的名称和值都会写入标准输出。但是,对于指定的每个名称,如果未指定 =value,则会将对应于该名称的当前别名值写入标准输出。如果指定了 =value,则会创建或重新定义别名。

alias 作为声明命令内置在 shell 中,以便不用针对参数执行字段分隔和路径名扩展。波浪号扩展针对 value 执行。别名定义仅影响当前 shell 环境读取的脚本。它不会影响该 shell 运行的脚本。

unalias 可以从当前 shell 执行环境中删除每个指定别名的定义,如果指定了 –a,则删除所有别名的定义。它不影响已经读取和后续执行的任何命令。

选项

unalias 支持以下选项:

–a

从当前 shell 的执行环境中删除所有别名定义。

ksh88

alias 支持以下选项:

–t

设置和列出被跟踪的别名。

ksh

alias 支持以下选项:

–p

导致输出采用 alias 命令的格式,从而用作 shell 的输入以重新创建当前别名。

–t

指定被跟踪的别名。

被跟踪的别名将命令名称与命令的路径名相关联,并在取消设置 PATH 变量时重置。被跟踪的别名功能现已废弃。

–x

忽略,此选项已废弃。

unalias 支持以下选项:

–a

导致所有别名定义都遭到删除。如果指定,则 name 操作数是可选的,可省略。

操作数

支持下列操作数:

alias

alias-name

将别名定义写入标准输出。

unalias

alias-name

要删除的别名。

alias-name=string

将值 string 分配给别名 alias-name。

如果未指定操作数,则所有别名定义都将写入标准输出。

输出

输出

显示别名的格式(当未指定操作数或仅指定 name 操作数时)为:

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

value 字符串在写入时带有适当的引用格式,以便它适合重新输入到 shell。

示例

示例 1 修改命令输出

此示例指定 ls 实用程序的输出分列显示并具有更多的注释:

example% alias ls="ls −CF"
示例 2 重复命令历史文件中以前的条目

此示例创建一个简单的“重做”命令以重复命令历史文件中以前的条目:

example% alias r='fc −s'
示例 3 指定命令输出选项

此示例指定 du 实用程序以 1024 字节为单位汇总磁盘输出:

example% alias du=du −k
示例 4 处理作为别名的参数

此示例设置 nohup 实用程序以便它可以处理作为别名的参数:

example% alias nohup="nohup "

环境变量

有关影响 alias 和 unalias 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

将返回以下退出值:

0

成功完成。

alias

>0

指定的 alias-name 操作数之一不具有别名定义,或者发生了错误。

unalias

>0

指定的 alias-name 操作数之一不是有效的别名定义,或者发生了错误。

属性

有关下列属性的说明,请参见 attributes(5):

csh、ksh88

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)
标准
请参见 standards(5)。

ksh

属性类型
属性值
可用性
system/core-os
接口稳定性
Uncommitted(未确定)

另请参见

csh(1)、ksh(1)、ksh88(1)、shell_builtins(1)、attributes(5)、environ(5)、standards(5)