我有一个非常糟糕的 ing file 历史,rm
然后后悔了。从那时起,我创建了一个trash
我尝试使用更多的命令。
然而,我仍然有很多肌肉记忆rm
。有什么办法可以阻止该rm
命令吗?也许强迫它给我一个确认或者只是让它无法使用?
答案1
通常一个好的策略,特别是对于具有管理员权限的用户,是将 rm 命令别名为 rm -i,这需要确认。
将其放在您的 .bashrc 中
alias rm='rm -i'
答案2
提示rm
确认(如鲁伊·F·里贝罗的回答)会让你养成依赖它的习惯。然后,如果您登录到不同的系统,您将会遇到不受欢迎的惊喜。
相反,我建议重新培训自己——我想到了两种方法:
您建议的一是让其rm
不起作用。这相当简单alias rm=~/bin/dont-use-rm
(然后,可以选择创建带有 echo 提醒您的脚本和exit 1
)。
二是训练自己经常打字rm -i
。你可以自己制作:再次alias rm=~/bin/force-rm-i
,并将其作为一个 shell 脚本,如下所示:
#!/bin/sh
if [ '-i' != "$1" ]; then
# you could use getopt, etc. for better command-line parsing, but that
# is much more work.
echo -e "\aIgnoring your command because you forgot to use 'rm -i'."
exit 1
else
exec rm "$@"
fi
(注意:并非所有 shell 都支持“echo -e”;如果您不支持,请随意使用/bin/bash
top 。)/bin/sh
为此使用别名,因为您可以轻松地将它们设置为仅影响交互式 shell — 您不想在 shell 脚本中破坏“rm”。