Angenommen, ich möchte einen Terminalbefehl ausführen und bestimmte Flags hinzufügen. Wie kann ich das erreichen? Was ist die Syntax dafür und wie erreichen Sie dies?
Angenommen, ich möchte einen Terminalbefehl ausführen und bestimmte Flags hinzufügen. Wie kann ich das erreichen? Was ist die Syntax dafür und wie erreichen Sie dies?
Antworten:
Obwohl die Frage wahrscheinlich nicht zum Thema gehört, möchte ich eine Antwort geben: Um mit einfachen Bash-Skripten zu beginnen, wenden Sie sich an getopts
.
#!/bin/bash
while getopts ":a:" opt; do
case $opt in
a)
echo "I'm the $OPTARG coder in the world." >&2
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
Speichern Sie dieses Bash-Skript wie coder
in einem Verzeichnis im PATH und machen Sie es mit ausführbar chmod +x coder
. Wenn Sie einen anderen Namen wählen, ersetzen Sie keine bereits vorhandene Datei mit demselben Namen! Wähle einen eindeutigen Namen! Das Bash-Skript sucht nach dem Flag / der Option -a und verwendet das Argument nach dem Flag, um einen Satz zurückzugeben. Das Skript überprüft nicht, ob das Ergebnis grammatikalisch korrekt ist!
Beispiele:
coder -a best
wird ergeben I'm the best coder in the world
.
coder -a "most yellow"
wird ergeben I'm the most yellow coder in the world
.
aber:
coder -a most yellow
wird ergeben I'm the most coder in the world
.
oder
coder -b "most yellow"
> Invalid option: -b
.