关于mkdir:如何在bash别名中包含参数?

How do I include parameters in a bash alias?

本问题已经有最佳答案,请猛点这里访问。

试图创建:

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

获得:

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

我究竟做错了什么?


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

您可以改为使用shell函数:

1
2
3
4
5
mcd()
{
  test -e"$1" || mkdir"$1"
  cd"$1"
}