我注意到一些示例 bash for 循环分布在示例中的多行中
for VARIABLE in file1 file2 file3
do
command1 on $VARIABLE
command2
commandN
done
Run Code Online (Sandbox Code Playgroud)
(例如这里 http://www.cyberciti.biz/faq/bash-for-loop/) 如何在 bash 终端中输入换行符(我使用腻子)?当我在一行的末尾按回车键时,系统会执行它。
Sté*_*las 31
当您按下Enter结束时:
for VARIABLE in file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
由于该for循环未完成,shell 无法执行任何操作。因此,它会打印一个不同的提示,即$PS2提示(通常为>),直到您输入结束done.
但是,>显示后,您无法返回编辑第一行。
或者,Enter您可以输入 ,而不是输入Ctrl-VCtrl-J。这样,在^J不接受当前缓冲区的情况下输入换行符(又名),然后您可以稍后返回编辑第一行。
在 中zsh,您可以按Alt-Enter或EscEnter插入换行符而不接受当前缓冲区。要在 中获得相同的行为bash,您可以添加到您的~/.inputrc:
"\e\C-m": "\026\n"
Run Code Online (Sandbox Code Playgroud)
(\026作为^V角色)。