Tratar de crear:¿Cómo incluyo parámetros en un alias de bash?
alias mcd="mkdir $1; cd $1"
Conseguir:
$ mcd foo
usage: mkdir [-pv] [-m mode] directory ...
-bash: foo: command not found
¿Qué estoy haciendo mal?
Tratar de crear:¿Cómo incluyo parámetros en un alias de bash?
alias mcd="mkdir $1; cd $1"
Conseguir:
$ mcd foo
usage: mkdir [-pv] [-m mode] directory ...
-bash: foo: command not found
¿Qué estoy haciendo mal?
Un alias solo puede sustituir la primera palabra de un comando con texto arbitrario. No puede usar parámetros.
su lugar, puede utilizar una función de shell:
mcd()
{
test -e "$1" || mkdir "$1"
cd "$1"
}
Podría haber sido un script de shell también? ¿Nombrado como un archivo mcd sin extensión? ¿Cómo es una función diferente o mejor? – talkaboutquality
No funcionaría como un script de shell, porque el script se ejecutaría en una subcadena. Para que el cd tenga el efecto deseado, debe ejecutarse en el intérprete de comandos de la persona que llama, no en una subshell. –
¿cómo se supone que se debe llamar a esta función? – Tebe
Éste fue preguntado y respondido primero! –