在一家大公司内部开展项目。项目的文件夹包含“$”(美元符号)字符。当我尝试将目录更改为此文件夹时,这似乎令人困惑bash:
cd TEST_$_xyz
产生错误:
No such file or directory
我几乎可以肯定这是因为bash处理了“$”字符,但我对bash非常新,所以在强制更改名称之前我正在寻找确认。
由于
答案 0 :(得分:4)
你需要像这样逃避美元($)的标志。否则,它将$_xyz
视为环境变量。
cd TEST_\$_xyz
示例:
# In this case, $a evaluates to nothing because it is not defined
me@mypc:~/tmp/asdf$ mkdir a$a
me@mypc:~/tmp/asdf$ ls
a
# Here, I have escaped $ with \ so that it's treated like a normal $ character
me@mypc:~/tmp/asdf$ mkdir a\$a
me@mypc:~/tmp/asdf$ ls
a a$a
# changing directory to directory with escaped $ sign
me@mypc:~/tmp/asdf$ cd a\$a
me@mypc:~/tmp/asdf/a$a$
答案 1 :(得分:3)
答案 2 :(得分:1)
你可以使用......
cd TEST*xyz
(asterix可以处理许多不同的字符,如'$',空格等。)