Frage

Ich Laufe erfolglos in meinen .der zshrc

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

Ich bekomme beim Start

/Users/Masi/.zshrc:unalias:34: no such hash table element: rm

Ich bemerkte, dass die hash-Tabelle problem wurde ungelöst bug in Ubuntu für die run-Hilfe.Ich bin mir nicht sicher, ob der bug bezieht sich auf Mac und rm -Befehl zu.

Wie kann man die Meldung off an den Start?

War es hilfreich?

Lösung

Alle anderen Rechte, die Sie einfach nicht haben ein alias.Noch wichtiger:

NICHT tun Sie dies.Eines Tages werden Sie bei einem anderen POSIX-Maschine, folgt POSIX-standards (löschen ohne "recycling"), und Sie werden zwanglos etwas löschen und haben keine Möglichkeit, es rückgängig zu machen.Lernen rm Disziplin jetzt.

Andere Tipps

Diese Fehlermeldung ist, weil Sie versuchen, unalias rm und es gibt keine solche alias.

Da können Sie alias-etwas mehr als einmal, ohne dass ein Fehler Auftritt, würde ich den code ändern zu:

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

Das garantiert, dass rm existiert ein alias, bevor Sie versuchen, unalias es.

Ich bin nicht sehr vertraut mit zsh, aber vielleicht ist es, weil die rm ist nicht ein alias, aber ist eigentlich ein standard-Hilfsprogramm mit Wohnsitz in der /bin.

Sie konnte nur alias es ohne den Versuch zu unalias es zuerst, überschreiben alle vorherigen alias.

Sie sollten nur versuchen, es zu entfernen ein alias vorhanden ist.Erstellen Sie einen alias, unaliased sofort fällt mir auf, wie hässlich.Meine Empfehlung ist der test für rm wird ein alias-und unaliasing wenn dem so ist.

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

Oder verwenden brute-force-und ignorieren stderr mit

 unalias rm 2>/dev/null
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top