交互模式下alias 扩展默认是开启的,脚本模式下默认是关闭的 **** alias 扩展的名称是 expand_aliasesnode
在当前session中,能够直接在命令行执行 alias alias-name-define="xxxx"shell
好比:vim
root@pts/9 $ alias aliasTest="echo Hello world" root@pts/9 $ aliasTest Hello world
若是想要永久保存定义的alias,能够将其写入到 /etc/profile 或者 ~/.bash_rc 中去,两个的区别是影响的范围不同而已bash
root@pts/9 $ vim ~/.bash_rc root@pts/9 $ tail -1 ~/.bash_rc alias aliasTest="echo Hello world"
打开新的session 在命令行先执行source ~/.bash_rc
再执行 aliasTest
输出一样的结果session
先看执行的结果.net
[root@node1 ~]# ./test.sh 若是alias是在~/.bash_rc等文件中定义,须要先执行 source ~/.bash_rc 检查默认状况下shell脚本中是否开启alias扩展 expand_aliases off 默认状况下执行定义的alias ./test.sh: line 8: aliasTest: command not found shell中开启alias扩展 shell中开启alias扩展以后检查 expand_aliases on shell中开启alias扩展以后,使用alias别名 Hello world [root@node1 ~]#
再研究具体的脚本命令行
# cat test.sh echo "若是alias是在~/.bash_rc等文件中定义,须要先执行 source ~/.bash_rc" source /root/.bash_rc echo "检查默认状况下shell脚本中是否开启alias扩展" shopt expand_aliases echo "默认状况下执行定义的alias" aliasTest echo "shell中开启alias扩展" shopt -s expand_aliases echo "shell中开启alias扩展以后检查" shopt expand_aliases echo "shell中开启alias扩展以后,使用alias别名" aliasTest
help shopt
能够查看该shell内置命令的帮助信息)Command | Desc |
---|---|
shopt -s opt_name | Enable (set) opt_name |
shopt -u opt_name | Disable (unset) opt_name |
shopt opt_name | Show current status of opt_name |