cd到以'开头的目录 - '短跑

时间:2018-01-13 23:35:38

标签: bash

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

cd - folder1 -

我收到了错误;

  

bash:cd:参数太多

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

cd -- folder1 -
cd ./- folder1 -
cd .- folder1 -
cd /- folder1 -

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

cd ..
cd parent/- folder1 -

3 个答案:

答案 0 :(得分:2)

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

所以要解决你的问题,试试这个:

cd "- folder1 -"

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

cd -- "- folder1 -"

答案 1 :(得分:0)

尝试使用双引号:

cd "- folder1 -"

答案 2 :(得分:0)

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

too many arguments错误是由于破折号(或大头钉,取决于你如何调用' em)被解释为传递给cd命令的参数或无效的flags / switches / options等。

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

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

-- cdstring name; cin >> name; player.setName(name); 基本上说'#34;没有标记'"然后在文件夹名称中的破折号后,反斜杠将转义空格。

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