Ik heb vanavond leren bash-scripten, kon het al een beetje, maar heb me kapot gegoogled en heb nu een installscript klaar voor sickbeard, maar ik loop toch tegen een paar dingen aan. Ik wil vragen stellen, maar wil voorkomen dat er onverwacht doorgegaan wordt met dingen als er iets anders dan yes of no wordt geantwoord, maar ik wil niet eindeloos herhalen, is er ook een returnfunctie ofzo? hoe lossen jullie dit op?
Ik heb dit:
Nu wil ik natuurlijk niet finishen na Answer yes or no or y or n, maar eigenlijk weer bovenaan beginnen bij Are you sure you wan't to continue?
Ik kwam hetzelfde probleem tegen bij het instellen van een wachtwoord met verificatie, dat heb ik opgelost door de hele bups drie keer te herhalen. Hoe lossen jullie bovenstaande situaties op in scripting?
Ik heb dit:
code:
1
2
3
4
5
6
7
8
9
| #make sure you wanna do this echo 'This script will download and install Sickbeard as a daemon. It is my first original bash-script so use at own risk!' read -p 'Are you sure you want to continue? (yes/no) ' Q1 if [ "$Q1" = "yes" -o "$Q1" = "y" ] then echo 'Continuing...' elif [ "$Q1" = "no" -o "$Q1" = "n" ] then echo 'Exiting...' && exit else echo 'Answer yes or no or y or n' fi |
Nu wil ik natuurlijk niet finishen na Answer yes or no or y or n, maar eigenlijk weer bovenaan beginnen bij Are you sure you wan't to continue?
Ik kwam hetzelfde probleem tegen bij het instellen van een wachtwoord met verificatie, dat heb ik opgelost door de hele bups drie keer te herhalen. Hoe lossen jullie bovenstaande situaties op in scripting?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| #set webinterface password (3 tries) read -p 'Do you want to set a password for the webinterface? Stays blank if not set. (yes/no) :' Q5 if [ "$Q5" = "yes" -o "$Q5" = "y" ] then read -p 'Set password to... :' WEBPASSWORD1 && read -p 'Confirm password... :' WEBPASSWORD2 else echo 'No password needed to log in' fi #password and sanitycheck if [ "$WEBPASSWORD1" = "$WEBPASSWORD2" ] #passwordcheck 1 then echo "Username set to $WEBUSERNAME and password set to $WEBPASSWORD2" && sed -i "s/SBPWD=""/SBPWD="$WEBPASSWORD2"/g" ~/.sickbeard/initscriptv2 elif [ "$WEBPASSWORD1" != "$WEBPASSWORD2" ] then echo 'Passwords do not match, tried once' && read -p 'Set password to... :' WEBPASSWORD3 && read -p 'Confirm password... :' WEBPASSWORD4 elif [ "$WEBPASSWORD3" = "$WEBPASSWORD4" ] #passwordcheck 2 then echo "Username set to $WEBUSERNAME and password set to $WEBPASSWORD4" && sed -i "s/SBPWD=""/SBPWD="$WEBPASSWORD4"/g" ~/.sickbeard/initscriptv2 elif [ "$WEBPASSWORD3" != "$WEBPASSWORD4" ] then echo 'Passwords do not match, tried once' && read -p 'Set password to... :' WEBPASSWORD5 && read -p 'Confirm password... :' WEBPASSWORD6 elif [ "$WEBPASSWORD5" = "$WEBPASSWORD6" ] #passwordcheck 3 then echo "Username set to $WEBUSERNAME and password set to $WEBPASSWORD6" && sed -i "s/SBPWD=""/SBPWD="$WEBPASSWORD6"/g" ~/.sickbeard/initscriptv2 else 'Passwords do not match 3 times in a row omg!, leaving blank, no passwords for you mister!)' fi |