如何在 bash 终端中输入/开始新行?

如何在 bash 终端中输入/开始新行?

我注意到示例中的一些示例 bash for 循环分布在多行中

for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done

(例如这里 http://www.cyberciti.biz/faq/bash-for-loop/)如何在 bash 终端中输入换行符(我使用 putty)?当我在一行末尾按 Enter 时,系统会执行它。

答案1

当您Enter按结束时:

for VARIABLE in file1 file2 file3

for由于该循环尚未完成,因此shell 无法执行任何操作。因此,它会打印不同的提示,即$PS2提示(通常是>),直到您输入结束语done

但是,>显示后,您将无法返回编辑第一行。

Enter或者,您可以键入 ,而不是键入Ctrl-VCtrl-J。这样,就可以输入换行符(又名^J),而不会占用当前缓冲区公认,然后您可以稍后返回编辑第一行。

在 中zsh,您可以按Alt-EnterEscEnter插入换行符而不接受当前缓冲区。要在 中获得相同的行为bash,您可以添加到您的~/.inputrc

"\e\C-m": "\026\n"

\026作为^V角色)。

相关内容