Auf Linux-Systemen, wenn Sie einen Befehl in einer Shell wie rm * -rf
eingeben, ist die Reihenfolge der *
und der -rf
nicht wichtig. Meine Shell interpretiert es auf die gleiche Weise. Nun, auf meinem Mac, wenn ich schreibe rm -rf *
alles funktioniert gut, aber wenn ich rm * -rf
tun ein Fehler auftaucht rm: -rf: No such file or directory
macos Kommandozeile Parameter funktioniert nicht am Ende
Ich habe versucht, dass auf einem macOS und einem Linux sowohl mit Fisch und Bash-Shells. Gleiche Probleme.
Hat jemand eine Idee, warum der Befehlsinterpreter auf macOS denkt, dass -rf
am Ende des Befehls nicht als Parameter des Befehls interpretiert wird?
Es ist nicht der Befehlsinterpreter (die Shell), der sich unterscheidet; es ist der 'rm' Befehl. Herkömmlicherweise erfordern Unix-Befehle alle Optionen vor allen Nicht-Optionsargumenten. GNU-Dienstprogramme und solche, die im GNU-Stil geschrieben sind, erlauben es, Argumente für Optionen und Nicht-Optionen zu mischen. OSX ist ein BSD-Derivat, das ein eher traditionelles Verhalten zeigt. –