我在 .zshrc 中运行失败
unalias rm
rm() { mv $* /tmp/wastebasket }
我在启动时
/Users/Masi/.zshrc:unalias:34: no such hash table element: rm
我注意到哈希表问题一直是Ubuntu中用于运行帮助的一个未解决的错误。我不确定该错误是否也适用于 Mac 和rm
-command。
如何在启动时关闭通知?
其他人都是对的,您根本没有别名。更重要的是:
不要这样做。有一天,您将在另一台遵循 POSIX 标准的 POSIX 机器上(删除而不“回收”),您会随意删除某些内容并且无法撤消它。现在学习 rm 纪律。
您应该只尝试删除存在的别名。创建一个没有别名的别名让我觉得很难看。我的建议是测试 rm 是否是别名,如果是,则取消别名。
case $(type rm) in
(*alias*) unalias rm;;
esac
或使用蛮力并忽略 stderr
unalias rm 2>/dev/null
该错误消息是因为您尝试取消rm
别名并且没有这样的别名。
由于您可以多次使用别名而不会出现错误,因此我会将您的代码更改为:
alias rm=x
unalias rm
rm() { mv $* /tmp/wastebasket }
这保证rm
在您尝试取消别名之前作为别名存在。
我对 zsh 不是很熟悉,但可能是因为 rm 不是别名,而实际上是驻留在 /bin 中的标准实用程序。
您可以直接给它取别名,而不必先尝试取消它的别名,从而覆盖任何以前的别名。