在Linux中“ ls”是什么意思?


13

我不小心输入ls'了一个交互式界面:> 这是什么?

我尝试在互联网上搜索,却一无所获。

Answers:


34

此行为是不可知的。你有开放的报价,外壳显示$PS2全局变量($PS2就是>在你的输出),而第二个引号缺失。

您可以根据需要更改PS2:

例如: export PS2=">>>"

当bash以交互方式运行时,$ PS2的值(扩展后)作为第二条提示打印,以显示更多数据。请参阅man bash“提示”下的。


2
您有很好的眼睛可以看到流浪的单引号。

1
新增信息:要退出,只需输入另一个单引号,或按ctrl-c。
2012年

不完全是在读stdin;您也可以在脚本或其他内容中输入多行引号;但是当你输入一个引号字符串中换行,一个未完成的循环等辅助提示显示在交互式会话
tripleee

1
最好使用ctrl-d而不是ctrl-c作为EOF(文件结尾)
Gilles Quenot 2012年

谢谢,顺便说一句,PS2代表什么?
安德斯·林德

5
-bash-4.1$ ls'
>

这意味着您打开了一个长字符串,'但没有将其关闭,因此bash正在等待字符串(参数)以结尾'

最后ls不使用'


0

“ PS”代表(可能)“提示字符串”。PS1是外壳程序将在您的Shell进程的命令行提示符下显示的内容。当需要进一步输入以完成命令时(未加引号的字符串,从stdin读取等),将显示PS2。 man bash然后搜索PS1或PS2(/PS[12]<CR>

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.