我有一个名为:
-2
我想CD到CD但抱怨:
bash: cd: -2: invalid option
没有成功,我试过了:
cd "-2" cd '-2' cd \-2
任何解决scheme
编辑:在服务器上没有可用的文件浏览器,如MC等。
至less有两种方法:
使用--
参数。
cd -- -2
这使用了GNU工具通用的约定,它不会将以后出现的任何东西视为命令行选项。
正如一位评论者所指出的那样,这个约定也是在POSIX标准中定义的 :
默认行为:当此部分列为“无”时,表示实现不需要支持任何选项。 不接受选项但接受操作数的标准实用程序应将
"--"
识别为要丢弃的第一个参数。识别
"--"
的要求是因为符合的应用程序需要一种方法来屏蔽它们的操作数,使其不受实现可能作为扩展提供的任意选项的影响。 例如,如果标准实用程序foo被列为不带选项,并且应用程序需要给它一个带有前导连字符的path名,则可以安全地将其作为:foo -- -myfile
并避免使用-m作为扩展的任何问题。
以及 :
准则10:
这个论点--
应该被接受为表示选项结束的分隔符。 任何下面的参数都应该被视为操作数,即使它们以'-'
字符开始。 该参数不应该被用作选项或操作数。
明确指定path:
cd ./-2
这指定明确命名当前目录( .
)的path作为起点。
cd $(pwd)/-2 cd /absolute/path/to/-2
这些都是以上的变化。 任何数量的这种变化都是可能的; 我将把它作为一个练习给读者来发现所有这些。
这应该工作:
cd -- -2
– 意味着没有更多的select
如果'-2'在当前目录中,这将工作。
cd ./-2
您可以通过键入 – 然后按Tab来自动完成。
cd /home/…../-2也可以。 给出访问的完整path。
只是为了补充,如果你想删除/删除这个目录,你可以使用下面的命令:
rm -r -- -2
我知道这个问题已经被回答了。 如果有人有我的情况,这是他们的:
我运行了一个java应用程序,它正在寻找一个以<path>
开头的目录,我应该在运行应用程序之前用适当的pathreplace它。 但是,我忘了这么做。 该应用程序创build了一个名为<path>
的目录。
我试图cd <path>
– 给我错误“-bash:语法错误附近意外的标记换行符”基于这里的build议(我明白,它的目录开始 – 而不是<)我试过cd -- <path>
。 但是,我得到了同样的错误。
当我尝试cd \<path>\
– 这工作!