Cuando presionas Enteral final de:
for VARIABLE in file1 file2 file3
El shell no puede ejecutar nada ya que ese forciclo no está terminado. Entonces, en su lugar, imprimirá un aviso diferente, el $PS2aviso (generalmente >), hasta que ingrese el cierre done.
Sin embargo, una vez que >se muestra, no puede volver a editar la primera línea.
Alternativamente, en lugar de escribir Enter, puede escribir Ctrl-VCtrl-J. De esa manera, el carácter de nueva línea (aka ^J) se ingresa sin que se acepte el búfer actual , y luego puede volver a editar la primera línea más adelante.
En zsh, puede presionar Alt-Entero EscEnterpara insertar un carácter de nueva línea sin aceptar el búfer actual. Para obtener el mismo comportamiento bash, puede agregar a su ~/.inputrc:
"\e\C-m": "\026\n"
( \026siendo el ^Vpersonaje).
bashpuede usar la combinación de tecladoCtrl + x + epara abrir el contenido del símbolo del sistema en un editor como vim, donde puede trabajar más fácilmente; cuando haya terminado, puede salir del editor y el comando se ejecutará.