Dalam skrip di bawah ini - yang meminta pengguna untuk mengonfirmasi bahwa mereka ingin melanjutkan menjalankan skrip yang berpotensi buruk - ketika pengguna memasukkan Yprompt - itu akan keluar dari caseblok, hanya untuk dikirim kembali ke whileloop lagi.
#! /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?"
Ketika ndimasukkan, skrip ada sepenuhnya seperti yang diinginkan. Saya ingin tahu bagaimana membuatnya sehingga ketika Ydimasukkan istirahat script keluar dari kedua case dan sementara blok, tetapi tidak keluar sama sekali. Apakah ada sesuatu yang bisa saya masukkan untuk placeholder ("Apa yang terjadi di sini ??") untuk melakukan itu?
$TEST=1seharusnya TEST=1, dan skrip Anda sangat mungkin bekerja dengan perubahan ini.
[Yn]*); Anda mungkin berarti[Yy]*).