bash 起别名

来源:互联网 发布:sql update 数据 编辑:程序博客网 时间:2024/05/17 09:43

别名允许一个字符串被取代为一个字时,它被用作一个简单的命令的第一个字。shell维护一个可以设置和取消的别名,别名内建命令别名的列表(参见下面的shell内建命令)。每个简单命令的第一个字,如果未加引号,是检查,看它是否有一个别名。如果是这样,这个词被别名的文本替换。字符/,$,`,和=以及任何shell元字符上面列出引用的字符可能不会出现在一个别名。其置换文本可以包含任何有效的shell输入,其中包括shell元字符。替换文本的第一个字的别名测试,但是这等同于被扩展别名一个字没有展开第二次。这意味着ls可以到LS-F,比如,和bash不会尝试递归扩展替换文本。如果别名值的最后一个字符是空白的,那么下一个命令后的别名词也检查别名展开。

别名创建并与别名命令中列出,并且与unalias命令删除。

没有机制用于在更换试验使用的参数。如果需要参数,一个shell函数应该使用(参见下面的函数)。

当shell不是交互的别名不会进行扩展,除非expand_aliases shell 选项禁用了javascript使用设置。

关于别名的定义和使用的规则也有些混乱。击总是读取输入中的至少一个完整的行中该行执行任何命令的前。当读取命令,而不是在执行其别名被扩展。因此,直到输入的下一行被读取出现在同一行作为另一个命令的别名定义不生效。
以下在该线的别名定义的命令不会受新的别名。这种行为也是一个问题,在执行功能时。当阅读函数的定义,而不是在执行函数别名被扩展,因为函数定义本身是一个复合命令。因此,在一个函数定义的别名不可被执行功能之后直到。为了安全起见,始终把在单独一行别名定义,并在复合命令不使用别名。

对于几乎所有的目的,别名是通过shell的功能所取代。

0 0
原创粉丝点击