如何在bash别名中包含参数?

时间:2009-11-30 18:25:32

标签: alias mkdir bash

尝试创建:

alias mcd="mkdir $1; cd $1"

获得:

$ mcd foo
usage: mkdir [-pv] [-m mode] directory ...
-bash: foo: command not found

我做错了什么?

1 个答案:

答案 0 :(得分:32)

别名只能用一些任意文本替换命令的第一个单词。它不能使用参数。

您可以改为使用shell函数:

mcd()
{
  test -e "$1" || mkdir "$1"
  cd "$1"
}