键入'enter不会启动任何特殊的 SSH 模式。您键入的(正常)命令由 SSH 连接另一端的 shell 解释,而不是 SSH 本身。
'在 shell 术语中通常称为单引号、"双引号和`反引号。
'开始一个不被 shell 解释的字符序列。这很有用,例如,如果您需要将参数传递给必须包含的程序$或其他字符序列,否则将被 shell 解释,或包含换行符。你用另一个'.
" 类似,但会发生一些插值(即变量被扩展)。
`是不同的。那是为了命令替换。如果你输入
echo `foo`
Run Code Online (Sandbox Code Playgroud)
foo在运行echo命令之前替换运行程序的输出。另一种方法是使用$(...):
echo $(foo)
Run Code Online (Sandbox Code Playgroud)
所以如果你输入'enter,你只是开始一个多行文字字符串。你最终要么具有匹配',或者CtrlC如果你想打出来。
$ echo 'hello
> this
> is
> a
> multiline
> string
> '
hello
this
is
a
multiline
string
$ echo 'foo $PWD'
foo $PWD # no interpolation
$ echo "foo $PWD"
foo /tmp # interpolation
Run Code Online (Sandbox Code Playgroud)
以 a 开头的行'本身并没有什么用。