Aus der Fehlermeldung sieht es so aus, als hätten Sie einen Alias oder eine Funktion, die rm
durch das Hinzufügen zusätzlicher Parameter neu definiert wird, da sie sudo
in einer anderen Umgebung als der Shell ausgeführt wird, aus der sie aufgerufen wird, und die Alias- und Funktionsdefinitionen im Allgemeinen nicht aus der Initialisierung der Shell importieren Skripte.
Dieser Befehl zeigt alle möglichen Interpretationen des rm
Befehls:
type -a rm
Innerhalb der Shell können Sie auch $(which rm) ...
anstelle von rm ...
verwenden, um sicherzustellen, dass Sie die richtige ausführbare Datei verwenden, da das externe which
Programm die Alias- und Funktionsdefinitionen nicht kennt, die der interne type
Befehl überprüft. Ein Befehl mit einer Verzeichniskomponente wird immer im Dateisystem gesucht, um ihn zu finden, wodurch Aliase und Funktionen umgangen werden.
Beachten Sie, dass Sie keinen Schreibzugriff auf eine Datei benötigen, um sie zu löschen. Sie benötigen Schreibzugriff auf das übergeordnete Verzeichnis.