在Unix Shell中更改目录(特殊字符)

4

我有一个以“--”开头的目录名,如何用cd进入它?基本的转义字符不起作用。

# cd --smol--/
    -bash: cd: --: invalid option
    cd: usage: cd [-L|[-P [-e]]] [dir]

# cd \-\-smol\-\-
    -bash: cd: --: invalid option
    cd: usage: cd [-L|[-P [-e]]] [dir]

# cd  '--smol--'
    -bash: cd: --: invalid option
    cd: usage: cd [-L|[-P [-e]]] [dir]

# cd '\-\-smol\-\-'
    -bash: cd: \-\-smol\-\-: No such file or directory

# help
  GNU bash, version 4.2.37(1)-release (i486-pc-linux-gnu)
2个回答

6
您可以这样使用cd:
cd -- '--smol--'

或:

cd -- --smol--

--后面的任何内容都不会被视为cd命令的选项。


1
另一个解决方法是引用目录:cd ./--smol-- 或从根目录引用绝对路径。 - sorpigal

4
您可以在前面添加 "./":
cd ./--smol--

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接