我注意到一些示例循环bash分散在示例中的多行中
for VARIABLE in file1 file2 file3
do
command1 on $VARIABLE
command2
commandN
done
(例如,这里 http://www.cyberciti.biz/faq/bash-for-loop/)如何在bash终端中输入换行符(我使用腻子)?当我在一行末尾按Enter键时,系统将执行它。
我注意到一些示例循环bash分散在示例中的多行中
for VARIABLE in file1 file2 file3
do
command1 on $VARIABLE
command2
commandN
done
(例如,这里 http://www.cyberciti.biz/faq/bash-for-loop/)如何在bash终端中输入换行符(我使用腻子)?当我在一行末尾按Enter键时,系统将执行它。
Answers:
当您按Enter以下内容的末尾时:
for VARIABLE in file1 file2 file3
Shell无法执行任何操作,因为该for
循环尚未完成。因此,它将打印一个不同的$PS2
提示(通常为>
),直到您输入close为止done
。
但是,>
显示后,您将无法返回来编辑第一行。
另外,Enter您也可以输入,而不是输入Ctrl-VCtrl-J。这样,在^J
不接受当前缓冲区的情况下输入了换行符(aka ),然后您可以稍后再编辑第一行。
在中zsh
,您可以按Alt-Enter或EscEnter插入换行符,而不接受当前缓冲区。要在中获得相同的行为bash
,您可以添加到~/.inputrc
:
"\e\C-m": "\026\n"
(\026
是^V
角色)。
Ctrl-J
开始,Ctrl-D
最后完成,对我来说很好。
bash
您还可以使用键盘组合Ctrl + x + e
在诸如vim之类的编辑器中打开命令提示符的内容,在其中可以更轻松地对其进行操作,完成后,您可以退出编辑器,命令将运行。