Im GNU-Handbuch für tar
, gibt es das folgende Beispiel, um zu zeigen, dass die Reihenfolge der Optionen wichtig ist:
tar -cfv collection.tar blues folk jazz
In diesem Fall, weil v
wird nach f
gesetzt , dann heißt das tar-Archiv „v“ und tar
versucht, collection.tar
hinzuzufügen in das Archiv, wenn es im aktuellen Verzeichnis vorhanden ist. Aber wenn ich den -
weglasse von Anfang an, dann funktioniert der Befehl trotz v
so, wie wir es uns wünschen nach f
platziert wird . Warum?
Akzeptierte Antwort:
Denn so funktionieren die verschiedenen Optionsstile und verhalten sich unterschiedlich.
Die Manpage gibt für UNIX- oder Short-Option-Stil an , dem ein einzelner Bindestrich vorangestellt ist.
Eine beliebige Anzahl von Optionen, die keine Argumente akzeptieren, kann nach einem einzigen Bindestrich zusammengefasst werden, z. -vkp. Optionen, die Argumente annehmen (ob obligatorisch oder optional), können am Ende eines solchen Clusters erscheinen, z. -vkpf a.tar.
Der traditionelle Stiloptionsstil , die ohne Bindestriche:
Im traditionellen Stil ist das erste Argument eine Gruppe von Optionsbuchstaben, und alle nachfolgenden Argumente liefern Argumente für die Optionen, die sie erfordern. Die Argumente werden in der gleichen Reihenfolge gelesen wie die Optionsbuchstaben. Alle Befehlszeilenwörter, die verbleiben, nachdem alle Optionen verarbeitet wurden, werden als nicht optionale Argumente behandelt:Datei- oder Archivmitgliedsnamen.
Wie Sie sehen können, der UNIX- oder Short-Option-Stil erwartet Argumente für Optionen direkt nach der Option.
Wohingegen der traditionelle Stil option style erwartet einen Block von Optionen und passende Argumente zu den Optionen in der richtigen Reihenfolge.