Answers:
对于&
(或几乎所有其他字符,您有两种简单的可能性。
' -3ab_&_-3dc.img'
-3ab_\&_-3dc.img
有两个例外:
foo'bar\qux
:cd 'foo'\''bar\qux'
。您可以这样记住:在单引号内'\''
获取单引号。您也可以使用双引号,但随后需要在某些字符前加反斜杠。单引号更简单。
这里还有一个额外的困难,那就是目录的名称以短划线开头。该字符告诉cd
命令(几乎像每个命令一样)遵循一个选项。破折号对shell而言不是特殊的,仅对命令而言是特殊的,因此引号不会对其造成影响。您可以通过两种方式将以破折号开头的参数传递给命令而不将其解释为选项:
./
在前面添加仍会指定相同的文件。--
前面。这告诉命令停止寻找选项。因此,这里有一些方法可以更改到此子目录:
cd -- '-3ab_&_-3dc.img'
cd -- -3ab_\&_-3dc.img
cd ./-3ab_\&_-3dc.img
cd './-3ab_&_-3dc.img'
确实需要逃脱&符,但是您遇到的问题很可能与前导-
符而不是&符有关。领先的-
CD认为您正在传递选项。您可以使用./
以下方法解决此问题:
cd './-3ab_&_-3dc.img'
&
绝对是一个问题。至于-
,则取决于外壳。Zsh非常高兴cd
以-
。开头的目录。但是bash不是。