¿Cómo puedo guardar el resultado del último comando ejecutado desde la terminal?

¿Cómo puedo guardar el resultado del último comando ejecutado desde la terminal?

Tengo un comando de compilación incremental para mi proyecto que generará algo si hago una compilación limpia y generará algo más (menos) si hago una compilación incremental.

¿Cómo puedo guardar esto si ya ejecuté una compilación limpia mycommand.shy el resultado se imprime en la ventana del terminal (sin usar copiar y pegar)?

me olvidé de hacer

mycommand.sh > myfile.txt

o

mycommand.sh >> myfile.txt

para guardar la salida en un archivo.

Respuesta1

Si bien $(!!)volver a ejecutar el comando anterior puede parecer (o a veces ser) una solución, también tiene sus inconvenientes.completamenteentender su uso.

Ejemplo: si el comando hizo algunas modificaciones como

rm -rv /tmp/*

servirá, luego volver a ejecutar ese comando de cualquier manera puedenoproducir el mismo resultado que antes con la excepción de que si /tmp/ estaba vacío antes de la primera ejecución y todavía está vacío la segunda vez, el resultado debería ser el mismo.

En pocas palabras: no hayseguroforma de reutilizar o guardar (sin copiar y pegar) el resultado del último comando si no lo guardó mientras se ejecutaba el comando.

Respuesta2

No puede hacerlo, ya que bash no asigna ninguna salida a ningún parámetro ni a ningún bloque en su memoria.

Sin embargo, puedes utilizar $(!!)pararecalcular(no reutilizar) la salida del último comando.

El !!por sí solo ejecuta el último comando.

$ echo pierre
pierre
$ echo my name is $(!!)
echo my name is $(echo pierre)
my name is pierre

Fuente:Reutilizar la salida del último comando en Bash

información relacionada