Respuestas:
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.
@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 cambiar setup_io(){ ... ;fnctl(0, [GS]ETFL, 0);...}
para hacer 2
el primer argumento. bueno, creo que las funciones copyTermios()
y también setRawTermios()
podrían necesitar una pequeña modificación, pero creo que debería ser simple. el rc = (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 }
.
env foo=bar bash -c 'echo $foo'