使用 rm -i 对所有人说“是”

Ami*_*mit 11 rm

假设我想确保先删除正确的文件,所以我做了如下操作:

rm -i *
Run Code Online (Sandbox Code Playgroud)

只是为了确保我对要删除的文件没有问题。所以这会问我每个文件。几个文件后,假设我意识到这正是我想要删除的内容。而不是CTRL+Cing 和只是做rm *,有没有办法我可以对所有人

这个问题更多地来自好奇心而不是功能。

Teo*_*cci 13

有没有办法让我对所有人说“是”?

答案是肯定的,使用以下代码:

$ yes "yes" | rm -vRI directory

  • v:显示已删除的文件列表
  • R:递归删除目录及其内容
  • 我:按照上面的建议。


Seb*_*ian 10

嗯,这并没有真正回答你的问题。但是不要使用rm -i,而是考虑别名rmrm -I

手册页指出:

-I     prompt once before removing more than three files, or when removing 
       recursively. Less intrusive than -i, while still giving protection 
       against most mistakes
Run Code Online (Sandbox Code Playgroud)

在你的~/.bashrc,放:

 alias rm='rm -I'
Run Code Online (Sandbox Code Playgroud)

这实际上很有用!


use*_*686 8

不。

(除非您找到一种方法来使用调试器翻转“交互式”位。)

  • @Daniel: [`coreutils/src/remove.c:335`](http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/remove.c#n335) → `coreutils/lib /yesno.c:46`(生成)→ [`rpmatch(3)`](http://linux.die.net/man/3/rpmatch):“对于识别出的否定响应,返回 0(“否”) , 1 表示已识别的正面响应(“是”),当响应值未被识别时为 -1” (6认同)
  • 此外,您可以将大量 y[line break] 粘贴到终端,这不是“对所有人都是”,但也会发生同样的事情。 (3认同)