在 CentOS(以及一般的 Linux shell) 里,alias 本身不能直接带“位置参数”,但有一些变通办法:
$1 $2例如下面这样是不行的:
alias g='git commit -m $1' # ❌ 错误用法
alias 只是文本替换,在你输入命令时,shell 会把 alias 原样展开。
如果你需要参数,应该用 shell 函数:
g() {
git commit -m "$1"
}
使用:
g "fix bug"
可以写在:
~/.bashrc~/.bash_profile然后:
source ~/.bashrc
alias 只能把参数放在后面,不能插入到中间:
✅ 可以:
alias ll='ls -l'
ll /var/log
❌ 不行:
alias g='git commit -m' # 只能放最后
g "msg"
等价于:
git commit -m "msg"
直接用 function,比如:
mkcd() {
mkdir -p "$1" && cd "$1"
}
| 方式 | 是否支持参数 | 建议 |
|---|---|---|
| alias | ❌ 不支持 $1 |
简单固定命令 |
| function | ✅ 支持 | 推荐 |
如果你有具体想写的命令,我可以帮你改成正确形式。