Quando você pressiona Enterno final de:
for VARIABLE in file1 file2 file3
O shell não pode executar nada, pois esse forloop não está concluído. Então, em vez disso, ele imprimirá um prompt diferente, o $PS2prompt (geralmente >), até você inserir o fechamento done.
No entanto, após a >exibição, você não pode voltar para editar a primeira linha.
Como alternativa, em vez de digitar Enter, você pode digitar Ctrl-VCtrl-J. Dessa forma, o caractere de nova linha (aka ^J) é inserido sem que o buffer atual seja aceito e você pode voltar a editar a primeira linha posteriormente.
Em zsh, você pode pressionar Alt-Enterou EscEnterpara inserir um caractere de nova linha sem aceitar o buffer atual. Para obter o mesmo comportamento bash, você pode adicionar ao seu ~/.inputrc:
"\e\C-m": "\026\n"
( \026sendo o ^Vpersonagem).
bashé possível usar a combinação de tecladoCtrl + x + epara abrir o conteúdo do prompt de comando em um editor como o vim, onde você pode trabalhar com mais facilidade. Quando terminar, você pode sair do editor e o comando será executado.