Quindi, in pratica sto provando a controllare gli argomenti passati nello script. Se ha tre argomenti e il terzo argomento è un 1, allora voglio che continui. Voglio anche a continuare se ha quattro argomenti e il terzo argomento non è un 1.Argomento di controllo del problema nello script Bash
Quindi, in pratica ho pensato che avrei potuto solo fare ...
if ([ $# -ne 3 ] and [ "$3" -ne "2" ])
then
exit 0
fi
Tuttavia sembra che Bash non lo fa avere e 'da usare per if, quindi ho pensato che potevo usare nidificato if, ma ora si lamenta ancora. Quindi questo è quello che ho attualmente ...
if [ $# -ne 3 ]
then
if [ "$3" -ne "1" ]
then
echo "Improper number of arguments.
FORMAT make-csv-data <STUDY> <TAG> <MODE> <SELECT>
Select can be left off if you want all data (Mode=1)
"
exit 0
fi
fi
if [ $# -ne 4 ]
then
if [ "$3" -ne "2" ]
then
echo "Improper number of arguments.
FORMAT make-csv-data <STUDY> <TAG> <MODE> <SELECT>
Select can be left off if you want all data (Mode=1)
"
exit 0
fi
fi
Quindi dove sto andando male? Posso nidificare se le istruzioni in Bash? C'è un modo super-zen di farlo che mi manca del tutto?
Grazie per l'eventuale aiuto che potresti darmi.
nuovo problema ...
Ora, per qualche motivo o un altro, il codice non funziona affatto. Non ci sono errori o altro, semplicemente non funziona. Non controlla il numero di argomenti. Ho eseguito lo script senza argomenti e lo salta proprio come se non fosse nemmeno lì.
La parte strana è che ero sicuro che il codice funzionava ieri. Torna oggi, non così tanto. Qualche idea su quale sia il problema? (Scusate, ma devo togliere la risposta accettata su questo.)
if [[ $# = 3 && "$3" != "1" ]]
then
echo "Improper number of arguments.
FORMAT make-csv-data <STUDY> <TAG> <MODE> <SELECT>
Select can be omitted if all data is required (Mode=1)
"
exit 0
fi
if [[ $# > 4 ]]
then
echo "Improper number of arguments.
FORMAT make-csv-data <STUDY> <TAG> <MODE> <SELECT>
Select can be omitted if all data is required (Mode=1)
"
exit 0
fi
EDIT II:
Ci sono alcune cose che la shell Bash non è se piace di questo script che sto cercando fare. Probabilmente finirò per riscriverlo in un altro linguaggio di scripting e fare alcune altre cose che ho in mente per il progetto. Grazie per l'aiuto in ogni caso.
quale errore si ottiene? – Glen