在 Ubuntu(以及一般的 Linux shell) 里,alias 本身不能像函数那样灵活地带“位置参数”,但有一些常见的变通办法。
例如下面这样是不行的:
alias g='git $1'
$1 在 alias 展开时不会被当作参数处理。
alias 只是文本替换,所以这样是可以的:
alias ll='ls -l'
ll /var/log
展开后等于:
ls -l /var/log
✅ 这是最常见的用法
如果需要根据参数做不同事情,用函数代替 alias:
mkcd() {
mkdir -p "$1" && cd "$1"
}
使用:
mkcd test
✅ 这是标准做法
加到:
~/.bashrc(bash)~/.zshrc(zsh)有时为了短命令:
alias g='git'
g commit -m "test"
或者:
alias dcu='docker-compose up'
dcu -d
| 方式 | 是否支持参数 | 说明 |
|---|---|---|
| alias | ❌ 不支持真正的参数 | 只是文本替换 |
| alias + 后面跟参数 | ✅ 支持 | 最常见 |
| shell 函数 | ✅ 完全支持 | 推荐 |
如果你愿意,可以告诉我 具体想实现什么命令,我可以直接帮你写成 alias 或函数。