使用Unix/Linux的朋友大多知道alias(别名)的用法,alias 可以简化我们的命令输入,比如: alias ll = 'ls -l' alias la = 'ls -A' 当我们执行了以上的命令后,以后只要在shell中输入ll,shell会自动按照设置执行ls -l命令。 alias(别名)的确简单,好用,效果立现。不过如果我们的要求稍微复杂一点,比如:我们希望创建命令别名可以带可变的命令参数,alias这时候就爱莫能助了,幸好我们有同样简单好用的shell function. 语法: [ function ] name () { command-list; } shell function的作用是当在shell中执行name时,command-list所代表的一系列命令将会执行。在上述定义中关键词function可以不用写。 举例: 我有一个叫fancy_writer的很好用编辑工具,但是这个程序名字太长,我希望输入fa就能运行它,当然这样的要求,我们完全可以用alias做到,但是我现在希望fa能接受后面的文件名作为其编辑对象(这对alias也没问题),同时希望程序能在后台执行(这时alias就困难了),而用shell function 就轻松搞定了: function fa() { fancy_writer $1 &; } 将这段小代码写入.bashrc或.profile,这样我们登录shell时就可以使用fa这个shell function了。 另外,与unalias相似,要暂时取消shell function可以使用 unset name 网络书签













