Bash在单行命令中强制换行

时间:2016-05-17 12:16:51

标签: bash

尝试在vim中打开一个长文件名的新文件时

$ vim long_file_name

当我按下

时,Bash不断给我换行
$ vim long_file_name [enter]
>
>

我想知道为什么会这样,以及我怎么能避免得到这个换行符。

2 个答案:

答案 0 :(得分:4)

你忘了逃避文件名中有单个,双重或反引号或其他“开始”字符序列,所以bash正等着你完成输入命令行的其余部分。

答案 1 :(得分:1)

为了补充Ignacio的回答,提示符>被称为辅助提示符(由环境变量PS2设置)。

当需要更多输入来完成命令(从提示符bash以交互方式启动)时,

PS2会显示PS1,例如当你在PS1提示符中的命令上只放一个/双引号或者在结尾处使用反斜杠转义时。

来自man bash

  

PS2此参数的值与PS1一样扩展并用作   辅助提示字符串。默认为``> ''