Alternativamente, es posible escribir un programa en C que llame al comando deseado y guardarlo en / usr / bin.
#include <stdio.h>
#include <string.h>
int main () {
char command[50]; //notice you can change this to fit your needs
int return_val;
strcpy( command, "echo \"cd /media/Dan/evolution\" | bash -i" );
return_val = system(command);
//this is equivalent to entering the command in a new bash,
//which will return and exit
return return_val;
}
Para compilarlo, vaya al directorio donde se guardó la fuente (en bash) y ejecute (es posible que necesite sudo):
gcc ./gb.c -o /usr/bin/gb
Después de una investigación más exhaustiva aquí , me di cuenta simplemente lanzando su comandosystem()
no funcionará para los comandos integrados de bash. Es por eso que necesita crear una instancia de un bash interactivo y hacer eco de sus comandos. Es demasiado complicado y probablemente inútil, a menos que desee, digamos, acortar una llamada a un script de shell (en some_script
lugar de sh ~/radgeRayden/Scripts/some_script
).
Referencia para la función system ()
alias gb='cd /media/Dan/evolution'