Nello script seguente - che richiede all'utente di confermare che desidera procedere con l'esecuzione di uno script potenzialmente dannoso - quando l'utente inserisce Y
il prompt - uscirà dal case
blocco, per poi essere nuovamente inviato nel while
ciclo.
#! /bin/bash
set -e
echo
echo "bad install start"
echo "-----------------------------------------"
while true; do
read -p "this script will probably fail - do you want to run anyway?" yn
case $yn in
[Yy]*)
##### WHAT GOES HERE?? #####
;;
[Nn]*)
exit ;;
*)
echo "answer y or n" ;;
esac
echo "script has broken out of case back into while loop"
done
echo -e "\e[33m Installing bad packagename \e[0m"
apt-get install sdfsdfdfsd
echo "rest of script - will i keep running?"
Quando n
viene inserito, lo script esiste interamente come desiderato. Mi piacerebbe sapere come fare in modo che quando Y
viene inserito le pause di script fuori sia del case
e il tempo di blocco, ma non esce del tutto. C'è qualcosa che posso mettere per il segnaposto ("Cosa succede qui ??") per farlo?
$TEST=1
dovrebbe esserlo TEST=1
, e molto probabilmente il tuo script funzionerà con questa modifica.
[Yn]*)
; probabilmente intendevi[Yy]*)
.