PROGRAMMAZIONE SHELL - 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 PROGRAMMAZIONE SHELL - LEGGERE L'INPUT DELL'UTENTE 1 1 1 1 1 1 1 1 1 1 1
2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 ISTRUZIONE READ read legge dallo stdin e assegna tale valore a una variabile. Esempio !/bin/bash echo -n "Scrivi quel che ti pare" read provola If [[ provola == 'ciao' ]]; then echo 'ciao' else echo 'non ciao' fi 2 2 2 2 2 2 2 2 2
read con più variabili read variabile1 variabile2 variabile3 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 read con più variabili read variabile1 variabile2 variabile3 Controlli effettuati sulle variabili e se noi mettiamo meno parametri di quelli richiesti, la variabile o le variabili di cui non viene fornito il valore vengono inizializzate ad un valore indefinito e se mettiamo troppi parametri quelli in più vengono aggiunti all'ultima variabile 3 3 3 3 3 3 3 3 3
2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 opzioni di read read -p "Inserisci il nome" presenta un prompt all'utente read -t 10 da un tempo massimo all'utente entro cui può inserire l'input read -s maschera quello che scrive l'utente (utile per digitare password) 4 4 4 4 4 4 4 4 4 4
Il progetto EXALL – seconda parte 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 Il progetto EXALL – seconda parte Modifichiamo il programma precedente facendo in modo che esegua le operazioni già indicate tramite un menu cui si possa scegliere l'operazione da effettuare (video successivo) https://github.com/computerluca/EXALL/blob/mast er/exall.sh 5 5 5 5 5 5 5 5 5
ciclo while #!/bin/bash conta = 1 while[[$conta -le 5]]; do 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 ciclo while #!/bin/bash conta = 1 while[[$conta -le 5]]; do echo $conta conta=$((conta+1)) done echo "finito" 6 6 6 6 6 6 6 6 6 6 6
2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 break / continue break - interrompe il loop ed esegue l'istruzione successiva al ciclo continue - salta l'iterazione corrente del loop e viene eseguita l'iterazione successiva 7 7 7 7 7 7 7 7 7 7 7 7 7
Esempio while break e continue 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 Esempio while break e continue While true; do read -p “Digita a per fare una certa operazione, digita b per fare un'altra operazione” read operazione if [[$operazione == a ]]; then echo “esecuzione operazione a” continue fi if [[$operazione == b ]]; then echo “esecuzione operazione b” if [[$operazione == c ]]; then echo “chiusura programma. Grazie per l'utilizzo” break done
continuiamo il progetto exall 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 2018/5/16 continuiamo il progetto exall Modifichiamo il programma precedente aggiungendo un ciclo infinito tramite cui possiamo scegliere un'operazione, eseguirne un'altra, interrompere l'applicazione 9 9 9 9 9 9 9 9 9 9 9 9 9 9