我只是alias rm="rm -I"
为了防止意外rm
命令而创建。
-I prompt once before removing more than three files, or when removing recursively.
Less intrusive than -i, while still giving protection against most mistakes
但它不起作用。当我使用时,我没有收到任何提示rm -rf
答案1
如果你阅读帮助再次你会看到它说以前的 --interactive
。这意味着您可以在所有其他参数之后添加一个-I
(例如在行尾),它将再次被遵守!
要做到这一点,你需要一个函数而不是别名,但只要把它放在你的.bashrc
(et al)的某个地方,你就成功了:
function rm { /bin/rm "$@" -I; }
比这更安全的方法是使用trash-cli
的trash-put
命令。它会将内容放入您帐户的垃圾目录中,可以正常查看/恢复/清空。它还具有虚拟的-r
和参数-f
,-i
因此可以实现完美的别名:
alias rm="trash-put"
答案2
这里的问题是,它-f
忽略rm
任何交互式命令:
`-f'
`--force'
Ignore nonexistent files and missing operands, and never prompt
the user. Ignore any previous `--interactive' (`-i') option.
来源:info coreutils 'rm invocation'