我注意到一些示例 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
角色)。