我注意到示例中的一些示例 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-Enter或EscEnter插入换行符而不接受当前缓冲区。要在 中获得相同的行为bash
,您可以添加到您的~/.inputrc
:
"\e\C-m": "\026\n"
(\026
作为^V
角色)。