質問
.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
のエイリアスを解除しようとしており、そのようなエイリアスがないためです。
エラーなしで複数回エイリアスを作成できるため、コードを次のように変更します。
alias rm=x
unalias rm
rm() { mv $* /tmp/wastebasket }
これにより、エイリアスを解除する前に、エイリアスとして rm
が存在することが保証されます。
zshにはあまり詳しくありませんが、おそらくrmはエイリアスではなく、実際には/ binにある標準ユーティリティであるためです。
最初にエイリアスを解除せずに、以前のエイリアスを上書きせずにエイリアスを作成できます。
存在するエイリアスのみを削除してください。 すぐにエイリアスされていないエイリアスを作成すると、私は見苦しくなります。 rmがエイリアスであることをテストし、そうであればエイリアスを解除することをお勧めします。
case $(type rm) in
(*alias*) unalias rm;;
esac
またはブルートフォースを使用し、stderrを無視します
unalias rm 2>/dev/null
所属していません StackOverflow