Creo que estoy teniendo una lluvia de ideas masiva. Yo esperaría
env foo=bar echo $foo
... para imprimir bar
, pero en cambio obtengo una línea vacía. Wat
Lo mismo sucede si uso la sintaxis bash:
foo=bar echo $foo
Creo que estoy teniendo una lluvia de ideas masiva. Yo esperaría
env foo=bar echo $foo
... para imprimir bar
, pero en cambio obtengo una línea vacía. Wat
Lo mismo sucede si uso la sintaxis bash:
foo=bar echo $foo
Recientemente se respondió una pregunta similar : los símbolos se evalúan en la línea antes de que el símbolo se defina en esta línea, por lo que es necesario dividir la definición y el uso de los símbolos para separar las líneas.
Impulsado por un comentario, podría haber hecho esto:
foo=bar bash -c 'echo $foo'
que primero asigna un valor foo
y lo pasa a un nuevo proceso como una variable de entorno donde se puede imprimir.
Puede leer más sobre esto en POSIX Shell Command Language Token Recognition .
Siguiendo el comentario de @mikeserv :
El shell leerá su entrada en términos de líneas de un archivo, de un terminal en el caso de un shell interactivo, o de una cadena en el caso de sh -c o system ().
Una vez que se delimita un token, se clasifica según lo requerido por la gramática en Shell Grammar.
env foo=bar bash -c 'echo $foo'
@username...comment
el usuario que especifiques, recibirá un pequeño mensaje que les hará saber que hablas con ellos. bueno, lo harán si es relevante para el hilo.luit.c
y creo que puedo cambiarsetup_io(){ ... ;fnctl(0, [GS]ETFL, 0);...}
para hacer2
el primer argumento. bueno, creo que las funcionescopyTermios()
y tambiénsetRawTermios()
podrían necesitar una pequeña modificación, pero creo que debería ser simple. elrc = (return)
para cada línea parece extraño, pero tampoco soy un programador en C. es eso tuyo o fue heredado? y si su comentario en blanco se refiere a"${set_null_var:=new val and $(echo other stuff)}"
que está mayormente seguro con cualquier cosa. algunas conchas harán cosas raras con}
.