Acabo de enterarme de lo que se debe hacer fcpara 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 -2genera 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.57en macOS, por lo que vale.
-ssalta 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 -1edita y ejecuta en serie. Además, por cualquier razón, fc -2; fc -1edita el mismo comando (número -2) dos veces, en lugar de los dos más recientes.
fc -- -2 -1parece hacer esto, ya que --hace que todos los siguientes parámetros sean posicionales, no opciones.
fc -s -2; fc -s -1Funciona para ti? Funcionabashen Ubuntu 16.04.