首页 Shell 别名扩展
文章
取消

Shell 别名扩展

本文特指在 shell 脚本(shell script)中使用 alias 别名。

在交互式 shell 中,我们可以使用 alias mycmd='command args...' 来创建一个别名,当我们执行 mycmd 命令时,实际上执行的是 command args... 命令,通常我们会为长命令创建一个短别名,方便使用。

那么你有尝试过在 shell script 中使用 alias 指令吗?如果你尝试过,你可能已经知道,在 bash 脚本中,默认是不允许使用 alias 指令的,虽然这条指令不会报错,但是实际上是没有生效的,请看例子:

1
2
3
#!/bin/bash
alias sayhello='echo "hello, world!"'
sayhello
1
2
$ ./alias.sh 
./alias.sh: line 3: sayhello: command not found

那么如何在 shell script 中使用 alias 指令呢?在脚本开头添加 shopt -s expand_aliases 即可:

1
2
3
4
#!/bin/bash
shopt -s expand_aliases
alias sayhello='echo "hello, world!"'
sayhello
1
2
$ ./alias.sh 
hello, world!
本文由作者按照 CC BY 4.0 进行授权

Shell 参数解析

Shell 信号处理