Por ejemplo, ¿puedo configurar:
gb = cd /media/Dan/evolution
... de modo que cada vez que ejecuto gben bash, ¿puedo cdese directorio en particular?
Encontré algo en línea: el aliascomando. Pero parece que no puede hacer el trabajo anterior.
¿Es posible hacer lo? ¿Cómo?

alias gb='cd /media/Dan/evolution'posixqueja, así que no solobash.Respuestas:
Sólo tipo:
Para que esta configuración sea permanente (para que se mantenga después de reiniciar o abrir otra consola) agregue esta línea al archivo ~ / .bashrc (suponiendo que use bash como su shell predeterminado)
fuente
Alternativa al alias
Esto define la función de shell gb, que no toma argumentos, y realiza cd / media / Dan / evolution. Al igual que con otras sugerencias, esto se puede agregar a ~ / .bashrc
fuente
type gbfuncionará si es un alias o una función.{ echo 'true() { : ; }' >./script ; . ./script ; command -V true ; command -V /usr/bin/true ; }-true is a shell function\n/usr/bin/true is /usr/bin/true- los\ncaracteres eran líneas nuevas literalmente en la salida.Es posible y
aliases el comando que estás buscando. Por ejemplo,alias ll="ls -l"en bash te permitirá escribir enlllugar dels -l. Tenga en cuenta que no se utilizan espacios al configurar un alias.man aliasPuede ser útil también.fuente
Alternativamente, es posible escribir un programa en C que llame al comando deseado y guardarlo en / usr / bin.
Para compilarlo, vaya al directorio donde se guardó la fuente (en bash) y ejecute (es posible que necesite sudo):
Después de una investigación más exhaustiva aquí , me di cuenta simplemente lanzando su comando
system()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 (ensome_scriptlugar desh ~/radgeRayden/Scripts/some_script).Referencia para la función system ()
fuente
sh -c "cd /media/Dan/evolution"no funciona. Sugerencia: subshellcdDejando a un lado los problemas de subshell, ¿cuál es la ventaja de envolver un comando de shell en el programa c, cuando podría fácilmente (o más fácilmente) poner ese comando en un script de shell?