Quindi supponiamo di voler fare un comando da terminale e voglio anche aggiungere delle bandiere specifiche come posso realizzare questo? Qual è la sintassi per questo e come si fa a realizzare questo?
Quindi supponiamo di voler fare un comando da terminale e voglio anche aggiungere delle bandiere specifiche come posso realizzare questo? Qual è la sintassi per questo e come si fa a realizzare questo?
Anche se la domanda è probabilmente fuori tema, voglio fornire una risposta: iniziare con semplici script di bash mettiti in contatto con 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
Salva questo script bash come coder
in una directory nel PERCORSO e rendilo eseguibile con chmod +x coder
. Se scegli un altro nome non sostituisci un file già esistente con lo stesso nome! Scegli un nome unico! Lo script di bash controlla la flag / option -a e prende l'argomento dopo il flag per echo una frase. Lo script non controlla se il risultato è grammaticalmente corretto!
Esempi:
coder -a best
risulterà in I'm the best coder in the world
.
coder -a "most yellow"
risulterà in I'm the most yellow coder in the world
.
ma
coder -a most yellow
risulterà in I'm the most coder in the world
.
o
coder -b "most yellow"
> Invalid option: -b
.
Leggi altre domande sui tag high-sierra