Noto que algunos ejemplos de bash para bucles se extienden en varias líneas en ejemplos
for VARIABLE in file1 file2 file3
do
command1 on $VARIABLE
command2
commandN
done
(por ejemplo, aquí http://www.cyberciti.biz/faq/bash-for-loop/ ) ¿Cómo ingreso una nueva línea en el terminal bash (uso masilla)? Cuando presiono enter al final de una línea, el sistema lo ejecuta.
bash
line-editor
giorgio79
fuente
fuente
bash
puede usar la combinación de tecladoCtrl + x + e
para 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á.Respuestas:
Cuando presionas Enteral final de:
El shell no puede ejecutar nada ya que ese
for
ciclo no está terminado. Entonces, en su lugar, imprimirá un aviso diferente, el$PS2
aviso (generalmente>
), hasta que ingrese el cierredone
.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 comportamientobash
, puede agregar a su~/.inputrc
:(
\026
siendo el^V
personaje).fuente
Ctrl-J
Para empezar, yCtrl-D
para terminar, terminé funcionando bien para mí.