Fügen Sie den Verwendungsinhalt im Shell-Skript ohne getopts hinzu

9

Ich habe ein Skript, in dem ich den Benutzungsbefehl anzeigen muss, falls der Benutzer beim Ausführen des Skripts eine obligatorische Information verpasst.

%Vor%

Mit Erklärungen zu allen OPTIONS

Ich bekomme Werte von Argumenten als unten Variablen Mode. Aber ich möchte diese Verwendung mit Validierungen im Shell-Skript.

%Vor%

Ich habe getopts versucht, aber nicht verwendet, da <query> vor dem Wert keinen -q -Parameter hat.

Ich habe versucht, alle anderen Wege zu finden, aber jeder schlug getopts vor, was für mich keine machbare Lösung ist.

Bitte helfen Sie mir dabei ..

    
San 20.02.2013, 08:11
quelle

4 Antworten

20

Verwenden Sie die Umschalttaste, um alle Ihre Argumente zu durchlaufen, etwa wie folgt:

%Vor%

Sollte den Trick machen.

BEARBEITEN: hat die Argumentüberprüfung im Skript hinzugefügt, wie von @technosaurus vorgeschlagen

    
matt.nguyen 20.02.2013, 10:31
quelle
1

getopts meckert für einen guten Grund . Sie sollten die Benutzeroberfläche Ihres Skripts so ändern, dass sie den Erwartungen der Benutzer entspricht.

Alternativ können Sie getopts zweimal verwenden, zuerst für die Optionen query , shift und dann für den Rest.

    
just somebody 20.02.2013 10:59
quelle
1

probiere das aus

%Vor%

hoffe das hilft

    
Balram 20.02.2013 14:02
quelle
0

Dies ist ein nicht standardmäßiger Ansatz, aber einen, den ich sehr nützlich finde. Anstatt Werte als Argumente an bestimmte Flags zu übergeben (was ziemlich ärgerlich ist, der Benutzer sollte nicht jeden Wert angeben müssen, sondern vernünftige Standardwerte angeben), können Sie diese einfach direkt über die Umgebung übergeben, so dass ein typischer Aufruf aussehen würde wie:

%Vor%

Es wäre schön, wenn Sie den Variablennamen in Kleinbuchstaben verwenden würden, so dass der Benutzer nicht schreien muss. Dies ermöglicht es dem Skript so einfach, die Befehlszeile vollständig zu analysieren, da die Werte der Variablen festgelegt werden, wenn das Skript beginnt.

    
William Pursell 21.02.2013 01:10
quelle

Tags und Links