Dans le script ci-dessous - qui invite l'utilisateur à confirmer qu'il souhaite continuer à exécuter un script potentiellement mauvais - lorsque l'utilisateur entre Y
à l'invite - il sortira du case
bloc, pour être ensuite renvoyé dans la while
boucle.
#! /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?"
Lorsque n
est entré, le script existe entièrement comme souhaité. Je voudrais savoir comment faire en sorte que lorsque Y
est entré, le script se détache à la fois du bloc case
et du bloc while, mais ne se ferme pas complètement. Y a-t-il quelque chose que je peux mettre pour l'espace réservé ("Qu'est-ce qui se passe ici ??") pour faire cela?
$TEST=1
devrait être TEST=1
, et votre script est très susceptible de fonctionner avec ce changement.
[Yn]*)
; vous vouliez probablement dire[Yy]*)
.