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?
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"
}