Curso de Raku / Objetos, entrada/salida y excepciones / Entrada y salida / Ejecutar programas externos 🆕 / Exercises / Ejecute un comando
Solución: Ejecute un comando
Aquí tienes una posible solución para la tarea.
Código
run 'echo', 'home:', '$HOME';🦋 Puedes encontrar el código fuente en el archivo run-a-command.raku.
Salida
home: $HOMEComentarios
runlanzaechodirectamente, pasando cada cadena como argumento separado. Sin:out, la salida del programa va derecha a la pantalla.El argumento llega a
echoexactamente como está escrito:$HOMEse imprime tal cual, no se sustituye por tu carpeta personal, porque no hay ninguna shell que lo expanda. Por esorunes la opción segura por omisión: la misma orden dada ashellpodría comportarse de forma muy distinta.Para imprimir de verdad la carpeta personal, deja que sea una shell quien haga la expansión:
shell 'echo home: $HOME'imprime algo comohome: /home/anna. (Mantén también las comillas simples del lado de Raku: unas comillas dobles"$HOME"harían que el propio Raku intentara interpolar una variable llamada$HOMEantes de queechollegara a ejecutarse.)