当我尝试在某些目录中使用'cd'命令时,我遇到了一个有趣的现象。
我已经将一些目录命名为“ - = [name]”,这样当我在工作的Windows机器上按名称排序时,它们将被排序到顶部。在家里,我使用Linux机器。我使用USB记忆棒在两台机器之间传送文件。我发现我无法使用'cd'命令进入名为“ - = [name]”形式的目录。
选项卡自动完成会识别目录,并提供正确的表单。所以cd命令看起来像这样:
cd \-\=\ directory_name
但是,我一直收到以下错误消息:
bash: cd: -=: invalid option
cd: usage: cd [-L|[-P [-e]] [-@]] [dir].
有谁知道我这里发生了什么?
我知道我可以更改目录的名称。但是,我很好奇cd命令发生了什么。文件管理员可以毫无问题地打开目录。
答案 0 :(得分:2)
在目录名前使用cd --
或前缀./
。
cd -- file_path_to\\-\=\ directory_name
OR
cd ./file_path_to\\-\=\ directory_name
否则-
被视为cd
命令的选项。
答案 1 :(得分:0)
命令行参数以-
开头。 cd
期待看到-<option>
和-=
不是有效选项。
您将看到几乎任何其他-X
字符串。
$ cd -felkj
-bash: cd: -f: invalid option
cd: usage: cd [-L|-P] [dir]
$ cd -j
-bash: cd: -j: invalid option
cd: usage: cd [-L|-P] [dir]
$ cd -y
-bash: cd: -y: invalid option
cd: usage: cd [-L|-P] [dir]
您需要告诉cd
您已使用--
结束参数:
$ pwd
/tmp/f
$ ls
-foo/
$ cd -foo/
-bash: cd: -f: invalid option
cd: usage: cd [-L|-P] [dir]
$ cd -- -foo/
$ pwd
/tmp/f/-foo
或者在名称前加上任何有效的路径前缀(例如./-foo
或/tmp/f/-foo
)。