cd 到以“-”破折号开头的目录

phy*_*cog 13 bash

我正在学习 Git,我的第一个任务是导航到我的项目所在的目录。不幸的是,我的文档的主要文件夹具有以下- folder1 -用于排序目的的表单,并且每次输入时;

cd - folder1 -
Run Code Online (Sandbox Code Playgroud)

我收到错误;

bash: cd: 参数太多

在寻找我尝试过的解决方案之后;

cd -- folder1 -
cd ./- folder1 -
cd .- folder1 -
cd /- folder1 -
Run Code Online (Sandbox Code Playgroud)

甚至将目录更改为父目录并尝试更长的路径,但这也不起作用

cd ..
cd parent/- folder1 -
Run Code Online (Sandbox Code Playgroud)

Dan*_*iel 25

根据经验,如果您的文件名有空格或特殊字符,例如$将它们放在单引号或双引号中。作为另一个经验法则,如果您的一个参数以 a 开头-并且您的命令将其解释为选项而不是文件名(类似于-nin in的选项echo -n myfile),那么您需要将 a--作为参数添加到您的命令中。

因此,要解决您的问题,请尝试以下操作:

cd "- folder1 -"
Run Code Online (Sandbox Code Playgroud)

如果cd继续认为您的文件夹名称是一个选项,请执行以下操作:

cd -- "- folder1 -"
Run Code Online (Sandbox Code Playgroud)

  • +1 `cd -- "-folder1 -"` 对我来说。另一个“cd“-folder1-””却不起作用。我正在使用 gitbash (5认同)

小智 6

这与 Git 本身没有直接关系,而是与你的 shell 相关。

too many arguments错误是由于破折号(或大头钉,取决于您如何称呼它们)被解释为传递给 cd 命令的参数或无效的标志/开关/选项等。

为了解决这个问题,您必须防止破折号被解释为标志。

在这种情况下,您将输入cd -- -\ folder1\ -/ORcd -- "- folder1 -"

--之后的内容cd基本上是“请不要标记”,然后反斜杠转义了文件夹名称中破折号后面的空格。

我强烈建议使用不同的命名约定,因为这可能会变得非常麻烦且耗时。


归档时间:

查看次数:

8970 次

最近记录:

8 年,2 月 前