Коли ви натискаєте 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, де ви можете працювати над ним легше, коли ви закінчите, ви можете вийти з редактора і команда запуститься.