Shell
如何使用“rm #*”刪除以#開頭的文件?
在 bash 中,我想刪除以
#
. 我試過rm #*
了,但收到消息:rm: missing operand
。那麼如何實現呢?
octothorpe (
#
) 或井號是一個註釋字元,在此處的 POSIX 語法中描述為:如果目前字元是“#”,則它和所有後續字元直到(但不包括)下一個 <newline> 應作為註釋被丟棄。結束行的 <newline> 不被視為註釋的一部分。
因此,您需要引用或轉義井號,以免將其解釋為註釋:
rm '#'*
或者
rm "#"*
或者
rm \#*
雖然
#
開始評論,但它只在單詞的開頭這樣做。因此,為路徑添加前綴,例如./
目前目錄,也可以禁用它。rm ./#*
順便說一句,前綴
./
也是防止以破折號(
-like-this
) 開頭的文件名被解釋為命令選項的兩種方法之一。