Acabo de enterarme de lo que se debe hacer fc
para golpear. Quiero usarlo para editar y ejecutar los dos comandos anteriores, incluido el comando más reciente .
Puedo editar y ejecutar dos comandos hasta pero sin incluir el comando más reciente con fc -2 0
. Esto es lo que quiero, excepto compensado por uno para incluir el comando más reciente.
Una solución viable pero molesta es examinar la salida de history
(o fc -l
), encontrar los números de comando absolutos y dar el rango de comando en términos absolutos. Por ejemplo, si fc -l -2
genera lo siguiente:
502 echo hello
503 echo goodbye
... entonces podría decir fc 502 503
. Esto es lo que quiero, excepto que no quiero el paso adicional de examinar la salida del historial. (Lo sé, soy exigente).
¿Hay alguna manera de hacer esto que no implique (1) un examen manual de la historia o (2) un comando desechable para sacar los comandos de interés del lugar más reciente?
Estoy corriendo GNU bash version 3.2.57
en macOS, por lo que vale.
-s
salta el paso de edición. (Además, me gustaría editar las dos líneas juntas). Aunque casi. :-)
-s
, como en fc -2; fc -1
.
fc -2; fc -1
edita y ejecuta en serie. Además, por cualquier razón, fc -2; fc -1
edita el mismo comando (número -2
) dos veces, en lugar de los dos más recientes.
fc -- -2 -1
parece hacer esto, ya que --
hace que todos los siguientes parámetros sean posicionales, no opciones.
fc -s -2; fc -s -1
Funciona para ti? Funcionabash
en Ubuntu 16.04.