Pregunta:
Para el script bash, puedo usar "$@"
para acceder a los argumentos. ¿Cuál es el equivalente cuando uso un alias?
Respuesta:
Solución de alias
Si realmente está en contra de usar una función per se, puede usar:
$ alias wrap_args='f(){ echo before "$@" after; unset -f f; }; f'
$ wrap_args x y z
before x y z after
Puede reemplazar $@
con $1
si solo desea el primer argumento.
Explicación
Esto crea una función temporal f
, a la que se le pasan los argumentos.
Los argumentos de alias solo se pasan al final. Tenga en cuenta que se llama a f
al final del alias.
unset -f
elimina la definición de la función a medida que se ejecuta el alias para que no se quede después.