在 CentOS(以及一般的 Linux shell)里,单纯的 alias 是不支持带参数的。
alias 只是做文本替换,例如:
alias ll='ls -l'
当你输入 ll /tmp,实际执行的是:
ls -l /tmp
但如果你写成:
alias grep='grep --color=auto'
这是可以的;
可如果你想这样:
alias search='grep $1 file.txt'
alias 无法正确处理 $1,因为它不是函数。
在 ~/.bashrc 里写:
search() {
grep "$1" file.txt
}
然后:
source ~/.bashrc
使用:
search hello
✅ 支持参数
✅ 支持多个参数
✅ CentOS / RHEL / 所有 Linux 通用
backup() {
cp "$1" "$2".bak
}
使用:
backup test.txt test
| 方式 | 是否支持参数 |
|---|---|
| alias | ❌ 不支持 |
| function | ✅ 支持 |
结论:
CentOS 的 alias 不支持参数,需要参数就用 shell 函数。
如果你有具体使用场景,我可以帮你写对应的函数。