Das Problem ist, dass Sie Dinge wie sagen können ls -laR
; es ist äquivalent zu ls -l -a -R
. Also -recursive
würde als interpretiert -r -e -c -u -r -s -i -v -e
.
Warum haben Optionen mit langen Zeichenfolgen einen doppelten Strich?
Diese Frage wurde vielleicht schon früher gestellt ...
Warum haben Flags wie --recursive zwei Striche anstatt nur -recursive? Ich weiß, dass die gekürzte Version nur -r ist. Gibt es eine maximale Anzahl von Zeichen, die eine Flagge mit einem Bindestrich enthalten kann, bevor zwei Bindestriche erforderlich sind?
2 Antworten auf die Frage
Es gibt keine exakte Regel, um einen einfachen oder doppelten Bindestrich als Option für ein Programm zu verwenden. Wenn man sich dafür entschieden hat, Optionen alleine zu handhaben, kann man alles umsetzen, was man will. Wenn der Programmierer jedoch nicht nach einem PITA sucht und möchte, dass das Programm eine allgemein bekannte, gut erkennbare Methode verwendet, würden Standardfunktionen verwendet getopt/getopt_long
, die lange Optionen (lange Zeichenfolge, wie Sie gefragt haben) als doppelte gestrichelte Optionen (Einzelzeichen) behandeln ) mit einem einfachen Bindestrich vorangestellt. Die Funktion getopt
ist Teil von <unistd.h>
C. Dieselbe Funktion kann auf Unix-basierten Systemen in Standard-Shells verwendet werden man getopt 1
, die die Analyse von einfachen und doppelt gestrichelten (langen) Optionen verwenden.
Gibt es eine maximale Anzahl von Zeichen, die eine Flagge mit einem Bindestrich enthalten kann, bevor zwei Bindestriche erforderlich sind?
Wenn man die oben beschriebene Funktion verwendet, können kurze Optionen nur ein einziges Zeichen enthalten.
Verwandte Probleme
-
6
Welche zsh-Funktionen verwenden Sie?
-
5
Transparente Eingabeaufforderung in Vista?
-
4
Verwenden Sie den Windows-Aktenkoffer von der Befehlszeile aus
-
4
Warum sind einige Befehle nicht vorhanden?
-
11
Gibt es eine einfache Möglichkeit, MP3-Dateien zu teilen?
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?
-
4
Remote-Ordner unter Linux synchronisieren
-
6
Vollbild-Vista-Eingabeaufforderung oder Ersatz
-
6
Guter PowerShell-Leitfaden, der durch fortgeschrittene Verwendung Einstieg leistet
-
3
Planen Sie einen Job von der Windows-Befehlszeile aus?