Argumente mit Flaggen in Bash erhalten
Um Argumente mit Flags in Bash zu erhalten, können Sie den Befehl „getopts“ verwenden. Der Befehl „getopts“ ist eine integrierte Funktion in Bash, mit der Befehlszeilenoptionen und Argumente analysiert werden können. Es braucht Drei Argumente: die Optionszeichenfolge, die Variable, um die aktuelle Option zu speichern, und der Name der Variablen, um die verbleibenden Argumente zu speichern. Hier ist ein Beispiel:
#!/Bin/Bash
Während des Getopts ": x: y:" opt; Tun
Fall $ $ entscheiden
X)
arg1 = "$ optarg"
;;
y)
arg2 = "$ optarg"
;;
\?)
echo "ungültig: -$ optarg"> & 2
;;
:)
Echo "Option -$ optarg erfordert ein Argument."> & 2
;;
ESAC
Erledigt
verschieben $ ((optind-1))
Echo "Argument 1: $ arg1"
Echo "Argument 2: $ arg2"
Hier wird der Befehl "getopts" verwendet, um die Befehlszeilenoptionen "-x" und "-y" zu analysieren. Das Zeichen „:“ Nach jeder Option gibt an, dass die Option ein Argument erfordert und die Variable "Opt" die aktuelle Option speichert, und die Variablen "Arg1" und "Arg2" speichern die entsprechenden Argumente.
Die Anweisung „Fall“ wird verwendet, um jede Option zu behandeln. Wenn die Option "x" ist, wird das Argument in "Arg1" gespeichert. Wenn die Option "Y" ist, wird das Argument in "Arg2" gespeichert.Eine Fehlermeldung wird angezeigt, wenn eine ungültige Option angegeben wird, sowie wenn kein Argument angegeben wird.
Der Optarg wird verwendet, um den Wert des Arguments zu speichern, das mit den Optionen -x oder -y übergeben wird, während Optind -1 verwendet wird, um die Positionsparameter zu verschieben, um die Optionen und ihre Argumente auszuschließen, so.
Nach dem Parsen der Optionen wird der Befehl „Shift“ verwendet, um die Optionen aus der Argumentliste zu entfernen. Dies stellt sicher, dass die verbleibenden Argumente in der richtigen Variablen gespeichert werden.Um das Skript mit Flags zu verwenden, können Sie das Skript mit den Flag -Optionen und Argumenten wie folgt ausführen:
./- -
Abschluss
Verwenden von Flags, um optionale Argumente an das Verknüpfen von Skripten zu übergeben, können Skripte flexibler und leistungsfähiger machen. Mit dem Befehl „getopts“ können Sie Argumente und Befehlszeilen problemlos analysieren. Wenn Sie dem Beispiel in diesem Artikel folgen, können Sie Flags in Ihren eigenen Bash -Skripten implementieren und diese mühelos verarbeiten.