当我在Linux命令行中输入字符\或`(反引号)时,显示的子输入终端是什么?它显示了我所假设的包含单个">"的提示。字符。 (见下图)
它似乎是一个脚本终端(如python'>>>")。
我试过问Google,但这个问题很难解释。
答案 0 :(得分:3)
只是在等待收盘反击。
您可以使用这些反引号从突击队获取输出并将其分配给变量。如果你做myvar=`ls`
,那么ls的输出将被分配给myvar。
你可以同样使用myvar=$(ls)
,有些人认为它更现代。
\
的情况略有不同。反斜杠允许逃避下一个字符的含义。当你"结束"该行通常是命令被执行,但不是在行结尾被转义时。在编写shell脚本时,这可以派上用场,并且您希望在多行上传播长命令。
答案 1 :(得分:2)
此提示符为PS2(正如您的标准shell提示符由变量PS1
定义)。来自the POSIX standard:
PS2
- 每次用户在交互式shell中完成命令行之前输入<newline>
时,此变量的值应进行参数扩展并写入标准错误。默认值为"> "
。此量的POSIX.1-2008仅为支持“用户可移植性实用程序”选项的系统指定变量的影响。
因此,正在打印意味着您已在交互式shell中输入了不完整的命令行。如果您没有完成其他类型的引用,或者没有结束if
的{{1}}语句,您就会有同样的事情。
答案 2 :(得分:0)
由于newline
(按Enter
键)没有关闭它,所以只希望你继续上一个命令。