如何使用“rm #*”删除以#开头的文件?

lan*_*bai 0 shell wildcards rm

在 bash 中,我想删除以#. 我试过了rm #*,但收到消息:rm: missing operand

那么如何实现这一目标呢?

Jef*_*ler 6

octothorpe ( #) 或井号是一个注释字符,在此处POSIX 语法中描述为:

如果当前字符是 '#',它和所有后续字符直到但不包括下一个 <newline> 应作为注释丢弃。结束该行的 <newline> 不被视为注释的一部分。

所以你需要引用或转义英镑符号,这样它就不会被解释为注释:

rm '#'*
Run Code Online (Sandbox Code Playgroud)

或者

rm "#"*
Run Code Online (Sandbox Code Playgroud)

或者

rm \#*
Run Code Online (Sandbox Code Playgroud)