在 Ubuntu(或者说在 Bash 中)别名(alias)本身是不支持直接带参数的。
如果你想要“带参数的别名”,通常有以下几种常用做法:
这是最标准、最灵活的方式。
mkcd() {
mkdir -p "$1" && cd "$1"
}
使用:
mkcd test
grepfile() {
grep -R "$1" "$2"
}
使用:
grepfile "error" /var/log
把函数写进:
~/.bashrc
然后执行:
source ~/.bashrc
alias g='git'
然后使用:
g status
⚠️ 这其实不是 alias 接收参数,而是 alias 展开后再接命令参数。
如果逻辑很复杂:
# ~/bin/mytool
#!/bin/bash
echo "参数1: $1"
echo "参数2: $2"
chmod +x ~/bin/mytool
然后直接当命令用(确保 ~/bin 在 PATH 中)。
| 需求 | 推荐方式 |
|---|---|
| 简单命令组合 | alias |
| 需要参数 | ✅ 函数 |
| 复杂逻辑 | 脚本 |
如果你愿意,可以告诉我你想实现的具体命令,我可以直接帮你写成可用的函数或别名。