Sé que !!
se vuelven a ejecutar comandos, pero ¿qué ocurriría exactamente si volviera a ejecutar un comando que tuviera una variable en el comando?
Respuesta1
Bueno, intentémoslo:
$ foo=bar
$ echo $foo
bar
$ foo=qux
$ !-2
echo $foo
qux
$ history
...
219 foo=bar
220 echo $foo
221 foo=qux
222 echo $foo
223 history
Entonces parece que el comando se agrega al historial.antesse produce una expansión variable.
Respuesta2
Parece que algo de prueba y error podría resultar útil y proporcionarle un resultado muy rápidamente. Antes de hacer una pregunta, es bueno que pruebe estas cosas usted mismo. Como resultado, puede hacer preguntas informadas y detalladas :)
Como parece que eres bastante nuevo en esto, ¿quizás lo siguiente te resulte beneficioso?
$ history -c
$ FOOD="Bananas"
$ echo $FOOD
Bananas
$ history
137 FOOD="Bananas"
138 echo $FOOD
139 history
$ !138
echo $FOOD
Bananas
Como puede ver, el history
comando funcionó como se esperaba. Al ejecutar 138 ejecutamos exactamente el mismo comando que ejecutamos la primera vez.
Consejo profesional: utilice el man
comando para leer más sobre un comando que le interese. Ex:
man history
y escriba Qpara salir cuando haya terminado.
¡Salud!