linux 创建命令别名,5.4 使用别名创建自己的命令

5.4  使用别名创建自己的命令

现在我们可以尝试编写程序了!我们可以使用alias命令来创建自己的命令。但是在开始之前,我们需要展示一个命令行的小技巧。通过使用分号来分隔多条命令,就可以将多条命令输入在一行中。其工作方式如下:

command1;command2;command3...

我们将要使用的例子如下:

[me@linuxbox ~]$ cd /usr; ls; cd -

bin  games     kerberos lib64    local share tmp

etc  include  lib        libexec sbin   src

/home/me

[me@linuxbox ~]$

可以看到,我们将3条命令放置在同一行中。首先我们将当前目录改变成/usr,然后列出这个目录内容,***返回到原始目录(使用cd-)。那么程序结束的位置恰恰是开始的位置。现在,我们通过使用alias命令将以上命令整合成一条新的命令。首先要为新命令虚构出一个名称,试试名称test。不过输入前,我们***检查一下名称test是否已经被使用过了。为此,我们可以再次使用type命令。

[me@linuxbox ~]$ type test

test is a shell builtin

啊哦!这个名字已经用过了,试试foo。

[me@linuxbox ~]$ type foo

bash: type: foo: not found

太好了!foo还没有被使用。下面创建新命令的别名。

[me@linuxbox ~]$ aliasfoo='cd /usr; ls; cd -'

注意这个命令的结构。

aliasname='string'

在alias命令之后输入name,紧接着是一个等号(没有空格),等号之后是一个用单引号括起来的字符串,该字符串中的内容将赋值给name。定义好的别名可以用在shell期待的任何地方。

尝试如下命令:

[me@linuxbox ~]$ foo

bin  games     kerberos  lib64    local  share tmp

etc  include   lib        libexec sbin   src

/home/me

[me@linuxbox ~]$

也可以再次使用type命令来查看别名。

[me@linuxbox ~]$ type foo

foo is aliased to 'cd /usr; ls ; cd -'

要删除别名,可以使用unalias命令,如下所示。

[me@linuxbox ~]$ unalias foo

[me@linuxbox ~]$ type foo

bash: type: foo: not found

尽管我们有意避免使用已经存在的命名名称来给我们的别名命名,但有时也会期待这么做。这样做的目的是,为每一个经常调用的命令添加一个普遍会用到的选项。例如,前面讲到的为ls命令添加别名,以添加颜色支持。

[me@linuxbox ~]$ type ls

ls is aliased to 'ls--color=tty'

要查看在环境中定义的所有别名,可是使用不带参数的alias命令。以下是Fedora系统默认定义的一些别名。试着弄明白它们是干什么的。

[me@linuxbox ~]$ alias

aliasl.='ls -d .* --color=tty'

aliasll='ls -l --color=tty'

aliasls='ls --color=tty'

在命令行定义别名还有一个小问题。当shell会话结束时,这些别名也随之消失了。在随后的章节中,我们将学习如何向文件中添加别名。每一次登录系统时,这些文件都会建立系统环境。现在,我们已经开始迈出了***步,纵然它微不足道,可毋庸置疑的是,现在我们已经走进了shell编程的世界。

【责任编辑:book TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值