Bash 删除以双引号和感叹号开头的文件

Bash 删除以双引号和感叹号开头的文件,bash,unix,vim,windows-subsystem-for-linux,Bash,Unix,Vim,Windows Subsystem For Linux,我有一个文件名为&& 如何删除此文件 On branch master Your branch is up-to-date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) && !! 分支主机上的 您的分支机构是最新的“原始/主”分支机构。 未跟踪的文件: (使用“git add…”包含在将提交的内

我有一个文件名为
&&

如何删除此文件

On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    && !!
分支主机上的

您的分支机构是最新的“原始/主”分支机构。
未跟踪的文件:
(使用“git add…”包含在将提交的内容中)
&& !!
rm--“&&&”
结果:
rm:无法删除“&&git st”:没有这样的文件或目录

正如您可能猜到的,git st是我表示git状态的方式

我是怎么来的

开放式vim

:e&&

:wq

您的
rm--“&&&”
尝试失败,因为历史扩展已替换
由先前执行的命令执行。您可以通过单引号引用文件名来避免这种情况,因为您不需要展开内容:

rm -- '&& !!'

历史扩展比我喜欢的更容易让我绊倒,而且我从未找到该功能的用途,因此我选择通过在我的
中添加
set+H
来禁用它。bashrc

使用如下单引号:
rm-->&&&

双引号扩展了它们的内容