21

尝试创建:

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

得到:

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

我究竟做错了什么?

4

1 回答 1

32

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

您可以改为使用 shell 函数:

mcd()
{
  test -e "$1" || mkdir "$1"
  cd "$1"
}
于 2009-11-30T18:29:36.450 回答