我在.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学科。

其他提示

该错误消息是因为您尝试unalias rm 并且没有此类别名。

由于您可以在没有错误的情况下多次使用别名,我会将您的代码更改为:

alias rm=x
unalias rm  
rm() { mv $* /tmp/wastebasket }

保证 rm 在尝试取消它之前作为别名存在。

我对zsh不是很熟悉,但也许是因为rm不是别名,而是实际上是驻留在/ bin中的标准实用程序。

您可以在不尝试首先对其进行单独排列的情况下对其进行别名,从而覆盖以前的任何别名。

您应该只尝试删除存在的别名。 立即创建一个没有混淆的别名让我觉得难看。 我的建议是测试rm是否为别名,如果是,则进行unaliasing。

 case $(type rm) in
     (*alias*) unalias rm;;
 esac

或者使用暴力并忽略stderr

 unalias rm 2>/dev/null
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top