Så i utgangspunktet jeg prøver å sjekke argumentene som sendes inn i manuset. Hvis den har tre argumenter og den tredje argumentet er en en, så jeg vil at det skal fortsette. Jeg ønsker også å fortsette hvis den har fire argumenter og det tredje argumentet er ikke en en.
Så i utgangspunktet tenkte jeg at jeg bare kunne gjøre ...
if ([ $# -ne 3 ] and [ $3 -ne 2 ])
then
exit 0
fi
Men det virker som Bash ikke har og er til bruk for dersom tallet, så da jeg skjønte at jeg bare kunne bruke nestede hvis tallet, men nå er det klager likevel. Så dette er hva jeg har for tiden ...
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
Så hvor skal jeg galt? Kan jeg ikke reir hvis uttalelser i Bash? Er det en super-zen måte å gjøre dette at jeg mangler helt?
Takk for all hjelp du kan gi meg.
New problemet ...
Nå, for en eller annen grunn, koden fungerer ikke i det hele tatt. Det er ingen feil eller noe, det bare virker ikke. Det trenger ikke sjekke antall argumenter. Jeg har kjørt skriptet uten argumenter i det hele tatt, og det bare hopper det som det er ikke engang der.
Rare er at jeg var sikker på at koden jobbet i går. Kom tilbake i dag, ikke så mye. Noen ideer om hva problemet er? (Beklager, men jeg måtte fjerne den aksepterte svaret på dette.)
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:
Det er et par ting som bash shell ikke er fornøyd med dette manuset som jeg prøver å gjøre. Jeg vil trolig ende opp skrive det på et annet skriptspråk og gjøre noen flere ting som jeg har i tankene for prosjektet. Takk for hjelpen i alle fall.