¿Cómo pasar argumentos de línea de comando a un alias de shell? [duplicar]
¿Cómo paso los argumentos de la línea de comando a un alias? Aquí hay una muestra:
alias mkcd='mkdir $1; cd$1;'
Pero en este caso, $xx se traduce en el momento de creación del alias y no en tiempo de ejecución. Sin embargo, he creado una solución utilizando una función de shell (después de buscar un poco en Google) como se muestra a continuación:
función mkcd(){ mkdir$1 disco compacto $1 }
Sólo quería saber si hay alguna manera de crear alias que acepten parámetros CL.
Por cierto, uso 'bash' como mi shell predeterminado.
Solo para reiterar lo que se ha publicado para otros shells, en Bash funciona lo siguiente:
alias blah='function _blah(){ echo "First: $1"; echo "Second: $2"; };_blah'
Ejecutando lo siguiente:
blah one two
Da el resultado a continuación:
First: one
Second: two
Encontraste la manera: crea una función en lugar de un alias. El shell C tiene un mecanismo para hacer argumentos para alias, pero bash y el shell Korn no lo tienen, porque el mecanismo de función es más flexible y ofrece la misma capacidad.