Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Ciao a tutti,
oggi mi è venuto un dubbio riguardo a getopts...
mettiamo caso che io abbia uno script che richiede le opzioni -a -b -c... all'opzione -a voglio passare un parametro, quindi faccio così:
while getopts ":a:bc" OPTION;do
case $OPTION in
a) echo "hai selezionato -a con '$OPTARG' come argomento" ;;
b) echo "hai selezionato -b";;
c) echo "hai selezionato -c";;
*) echo "hai sbagliato";;
esac
done
shift $(($OPTIND - 1))
exit
In questo modo se io chiamo lo script in questo modo:
danix85 ha scritto:Ciao a tutti,
oggi mi è venuto un dubbio riguardo a getopts...
mettiamo caso che io abbia uno script che richiede le opzioni -a -b -c... all'opzione -a voglio passare un parametro, quindi faccio così:
while getopts ":a:bc" OPTION;do
case $OPTION in
a) echo "hai selezionato -a con '$OPTARG' come argomento" ;;
b) echo "hai selezionato -b";;
c) echo "hai selezionato -c";;
*) echo "hai sbagliato";;
esac
done
shift $(($OPTIND - 1))
exit
In questo modo se io chiamo lo script in questo modo:
hai selezionato -a con 'argomento1' 'argomento2' 'argomentoN' come argomenti
come dovrei fare??
Grazie mille per l'aiuto...
Ciau
Metti gli argomenti in apici,
-a 'a b c d e f'
separarli poi in $OPTARG e` facile:
awk '{print NF}' == numero di argomenti in $OPTARG
awk '{print $2}' == il secondo argomento ecc.
nella shell e.g.:
VARIABILE1=`echo $OPTARG | awk '{print $1}'`