Bash Shell暂时禁用别名

时间:2020-01-09 10:37:27  来源:igfitidea点击:

我在~/.bashrc文件中定义了几个shell别名。在Linux或类似Unix的系统上,如何临时删除(禁用)shell别名并直接调用core命令,而不在bash shell下使用unalias命令?

使用别名命令可以用另一个字符串替换单词。它主要用于缩写系统命令,或用于向常规使用的命令添加默认参数。 在Linux,OS X,FreeBSD,OpenBSD,Ubuntu/Debian/Red Hat/CentOS/Fedora和类似Unix的操作系统上创建自己的命令时,它也很有用。

如何显示当前定义的别名

键入以下命令:

$ alias

输出示例:

如何创建别名

为常用的clear命令创建一个名为c的别名,以清除屏幕:

$ alias c='clear'

然后,要清除屏幕,无需键入clear,用户只需键入字母c并按[ENTER]键:

$ c

如何暂时禁用别名?

可以暂时禁用别名,然后直接调用core命令。
只需在命令前加上反斜杠即可。
创建一个名为vnstat的别名:

$ alias vnstat='vnstat -i eth1'
$ vnstat

输出示例:

Database updated: Fri Mar 13 15:30:01 2009

	eth1

	   rece我有d:     158.48 GB (20.9%)
	transmitted:     599.82 GB (79.1%)
	      total:     758.30 GB

	                rx     |     tx     |  total
	-----------------------+------------+----------
	yesterday      2.83 GB |   10.90 GB |   13.73 GB
	    today      1.92 GB |    7.31 GB |    9.23 GB
	-----------------------+------------+----------
	estimated      2.97 GB |   11.28 GB |   14.25 GB

现在暂时禁用vnstat别名,输入:

$ \vnstat

输出示例:

rx      /     tx      /    total    /  estimated
eth1:
     yesterday      2.83 GB  /   10.90 GB  /   13.73 GB
         today      1.92 GB  /    7.31 GB  /    9.23 GB  /   14.24 GB

eth0:
     yesterday    655.05 MB  /    2.02 GB  /    2.66 GB
         today    438.01 MB  /    1.43 GB  /    1.86 GB  /    2.86 GB

另一种选择是键入完整的命令路径:

$ /usr/bin/vnstat

您也可以使用以下任一命令:

$ "vnstat"
$ 'vnstat'
$ command vnstat

但是,如何永久取消混叠?

更新您的shell程序配置文件,例如~/.bashrc并删除所需的别名:

$ vi ~/.bashrc #or use joe text editor ##
$ unalias nameHere
$ unalias vnstat
$ source ~/.bashrc

有关更多信息,请阅读以下帮助/手册页:

$ man bash
$ help source
$ help alias
$ help unalias
$ man vim