Asignar alias en linux

No me queda claro.

Tengo un comando muy largo:
g++ -std=c++11 $SOURCE -o salida && time ./salida < input.in


Quiero asignarle un acceso más rápido tipo "myg++", la variable $SOURCE que aparece ahí sería un argumento que le pasaria. Quedaría entonces:

myg++ miarchivo.cpp


Y que sea persistente, que no tenga que volver a configurarlo cada vez que reinicie.

¿Sabeís alguna forma? :(
https://wiki.archlinux.org/index.php/Bash#Aliases
ejemplo de mi fichero .bashrc

alias ls='ls --color=auto'


edito:
Veo que quieres que source te quede en medio, mm... para eso veo que tienes que usar una función

http://stackoverflow.com/questions/7131 ... -parameter
ejemplo

mifuncion(){
    g++ -std=c++11 $1 -o salida && time ./salida < input.in
}
alias myg++=mifuncion
nu_kru escribió:https://wiki.archlinux.org/index.php/Bash#Aliases
ejemplo de mi fichero .bashrc

alias ls='ls --color=auto'

No es lo mismo, yo necesito argumentos.

Me han dado ya una solución:
Zokormazo escribió:@amchacon:

Tienes que usar una funcion en bash junto a alias.

alias myg++='function _compile(){ g++ -std=c++11 $1 -o salida && time ./salida < input.in; };_compile'


Podias incluso meter $2 para salida si quieres y que el alias funcione con dos argumentos y no uno

DISCLAIMER:

He codeado la funcion directamente en el foro, es altamente probable que haya problemas de sintaxis

EDIT: para que sea persistente, metelo en .bashrc
@amchacon: la solucion de @nu_kru serviria si el argumento fuera al final, pero en tu caso como tienes el argumento en medio del comando que quieres acortar solo te queda la opcion de usar una funcion sh junto a alias
Sí, he leído el edit.

Zokormazo escribió:@amchacon: la solucion de @nu_kru serviria si el argumento fuera al final, pero en tu caso como tienes el argumento en medio del comando que quieres acortar solo te queda la opcion de usar una funcion sh junto a alias

Ya veo...
nu_kru escribió:nadie ha leído mi edit? @amchacon @Zokormazo


Yo si, pero te ignore vilmente xD
6 respuestas