Linux shell脚本中使用alias定义的别名
2019-01-14 本文已影响98人
菩提老鹰
核心知识点 shopt 开启和关闭 alias 扩展
交付模式默认是开启的,脚本的默认是关闭的
alais 扩展的名称是 expand_aliases
alias 定义
在当前session中,可以直接在命令行执行 alias alias-name-define="xxxx"
比如:
root@pts/9 $ alias aliasTest="echo Hello world"
root@pts/9 $ aliasTest
Hello world
如果想要永久保存定义的alias,可以将其写入到 /etc/profile
或者 ~/.bashrc
中去,两个的区别是影响的范围不一样而已
root@pts/9 $ vim ~/.bashrc
root@pts/9 $ tail -1 ~/.bashrc
alias aliasTest="echo Hello world"
打开新的session 在命令行执行aliasTest
输出同样的结果
shell中使用alias
先看执行的结果
root@pts/9 $ bash test.sh
如果alias是在~/.bashrc等文件中定义,需要先执行 source ~/.bashrc
检查是否默认情况下shell脚本中是否开启alias扩展
expand_aliases off
默认情况下执行定义的alias
test.sh: line 10: aliasTest: command not found
shell中开启alias扩展
shell中开启alias扩展之后检查
expand_aliases on
shell中开启alias扩展之后,使用alias别名
Hello world
在研究具体的脚本
#!/bin/bash
echo "如果alias是在~/.bashrc等文件中定义,需要先执行 source ~/.bashrc"
source /root/.bashrc
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
附加
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 |