1.alias的功能
设置一个别名,即为一个长命令起一个新的名字
2.alias的基本格式
alias alias_name='origin_command'
alias是指定别名命令的关键字
alias_name 是用户指定的别名
origin_command 是以空格分割的字符串
注意:等号两边不能有空格
3.alias命令行上的使用举例
[root@nn learn_test]# ls
a Bstree link_stack shell struct test1
a.c hash pthread.c stack test test2
[root@nn learn_test]# alias ss=ls
[root@nn learn_test]# ss
a Bstree link_stack shell struct test1
a.c hash pthread.c stack test test2
[root@nn learn_test]# alias nn='cd test1'
[root@nn learn_test]# nn
[root@nn test1]# pwd
/home/zhangna/learn_test/test1
[root@nn test1]#
4.删除已设置的别名unalias
unalias [-a][alias_name]
unalias -a 删除所有已设置的别名
unalias alias_name 仅删除alias_name的别名
[root@nn test1]# unalias nn
[root@nn test1]# nn
bash: nn: command not found
[root@nn test1]# ss
a a.c
[root@nn test1]# unalias -a
[root@nn test1]# ss
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.40.223:50030 101.201.173.115:http
ESTAB 0 0 192.168.40.223:49104 101.201.173.115:http
ESTAB 0 0 192.168.40.223:48798 101.201.173.115:http
ESTAB 0 0 192.168.40.223:50034 101.201.173.115:http
ESTAB 0 0 192.168.40.223:50017 101.201.173.115:http
ESTAB 0 0 192.168.40.223:49056 101.201.173.115:http
CLOSE-WAIT 1 0 192.168.40.223:54781 111.108.54.43:http
ESTAB 0 0 192.168.40.223:48975 101.201.173.115:http
ESTAB 0 0 192.168.40.223:46975 112.90.78.157:http
[root@nn test1]#
5.在脚本中使用alias 和 unalias
[root@nn shell]# cat alias_fun.sh
#!/bin/bash
shopt -s expand_aliases
alias detail="ls -l"
detail /root/in*
echo
directory=/root/
prefix=in*
alias vardetail="ls -l $directory$prefix"
vardetail
echo "deleting all aliases"
unalias -a
detail
vardetail
[root@nn shell]# ./alias_fun.sh
-rw-r--r--. 1 root root 45941 1月 29 01:27 /root/install.log
-rw-r--r--. 1 root root 10033 1月 29 01:24 /root/install.log.syslog
-rw-r--r--. 1 root root 45941 1月 29 01:27 /root/install.log
-rw-r--r--. 1 root root 10033 1月 29 01:24 /root/install.log.syslog
deleting all aliases
./alias_fun.sh: line 15: detail: command not found
./alias_fun.sh: line 16: vardetail: command not found
[root@nn shell]#
shopt -s expand_aliases 命令是打开expand_aliases选项,如果没有打开该选项。那么即使使用alias命令建立别名,也不可以执行这些别名。
但是,alias不能在if/then结构、循环和函数等混合型结构中使用,可以 执行在混合型结构之外所设置的别名