Коли ви натискаєте Enterв кінці:
for VARIABLE in file1 file2 file3
Оболонка нічого не може виконати, оскільки ця forпетля не закінчена. Тому замість цього він надрукує інше підказку, $PS2підказку (як правило >), поки ви не введете закриття done.
Однак після того, >як відобразиться, ви не можете повернутися до редагування першого рядка.
Крім того, замість того, щоб вводити текст Enter, ви можете вводити текст Ctrl-VCtrl-J. Таким чином, символ нового рядка (ака ^J) вводиться, не приймаючи поточний буфер , і згодом ви можете повернутися до редагування першого рядка.
В zsh, ви можете натиснути кнопку Alt-Enterабо , EscEnterщоб вставити символ нового рядка , не беручи поточний буфер. Щоб отримати таку саму поведінку bash, ви можете додати ~/.inputrc:
"\e\C-m": "\026\n"
( \026будучи ^Vперсонажем).
bashви можете використовувати комбінацію клавіатури,Ctrl + x + eщоб відкрити вміст командного рядка в такому редакторі, як vim, де ви можете працювати над ним легше, коли ви закінчите, ви можете вийти з редактора і команда запуститься.