Question

This question already has an answer here:

Trying to create:

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

Getting:

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

What am I doing wrong?

Was it helpful?

Solution

An alias can only substitute the first word of a command with some arbitrary text. It can not use parameters.

You can instead use a shell function:

mcd()
{
  test -e "$1" || mkdir "$1"
  cd "$1"
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top