Squ*_*are 5 special-characters filenames rm
我正在处理一个 shell 脚本,我不小心创建了一个以变量为名称的文件。现在我$file
在我的ls
输出中,无法删除它。我能做什么?
mau*_*ion 14
你可以逃脱$
用\
:
rm \$file
Run Code Online (Sandbox Code Playgroud)
小智 6
基本上,如果你想用这些奇怪的字符做字面的事情,你需要转义它。在 shell 中,有几种方法可以做到这一点。第一个是在要转义的每个字符前添加一个 '\'。所以你可以这样做rm \$file
。另一种方法是用单引号引用它们,例如,rm '$file'
或rm '$'file
。有些人还认为双引号是“转义”的意思,但它只能转义空格。例如,如果您有一个名为 的文件a file
,则可以执行
rm a\ file
Run Code Online (Sandbox Code Playgroud)
或者
rm 'a file'
Run Code Online (Sandbox Code Playgroud)
或者
rm "a file"
Run Code Online (Sandbox Code Playgroud)