在 Linux / Bash 里,要分清两件事:
alias 本身不能直接“别名成一个函数”alias 只能给命令或命令组合起别名,不能把别名定义成真正的函数。
例如这样是不行的:
alias myfunc() {
echo hello
}
这是错误的写法。
alias 调用函数(常见用法)你可以先定义函数,再用 alias 给这个函数起一个短名字:
myfunc() {
echo "hello $1"
}
alias hi=myfunc
使用:
hi world
# 输出:hello world
✅ 这是推荐做法
alias 模拟“像函数一样”的行为(有限)alias 支持参数拼接,但不能处理复杂逻辑:
alias ll='ls -l'
alias g='git'
但不能像函数那样:
ifalias / 什么时候用 function| 场景 | 推荐 |
|---|---|
| 简单命令缩短 | alias |
| 带逻辑、参数处理 | function |
| 脚本里复用 | function |
alias 不能直接定义函数alias 可以调用已定义的函数function如果你愿意,我可以帮你把某个 alias 改写成函数版本。