简短回答:一般情况下,CentOS 里的 alias 不适合直接用于脚本(shell script)。
在 非交互式 shell(脚本执行环境) 中,alias 默认是关闭的,即使你在 .bashrc 或 .bash_profile 里定义了 alias,脚本也不会自动生效。
例如:
# ~/.bashrc
alias ll='ls -l'
脚本:
#!/bin/bash
ll
运行脚本会报错:
ll: command not found
需要显式开启 alias 扩展:
#!/bin/bash
shopt -s expand_aliases
source ~/.bashrc
ll
⚠️ 但这种做法不推荐,因为:
✅ 用函数代替 alias
ll() {
ls -l "$@"
}
✅ 直接用完整命令
ls -l
✅ 用变量
LS="ls -l"
$LS
| 场景 | 是否用 alias |
|---|---|
| 交互式终端 | ✅ 适合 |
| Shell 脚本 | ❌ 不推荐 |
| 脚本复用命令 | ✅ 用函数 |
如果你有具体使用场景(比如“想在脚本里简化某条命令”),我可以给你更合适的写法。