How do I include parameters in a bash alias? [duplicate]
Question
This question already has an answer here:
- Make a Bash alias that takes a parameter? 13 answers
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?
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