#1 Le 13/08/2015, à 14:59
- Boombastick
[BASH] Exécuter une action en bash
Salut les gars !
Je commence dans le bash et je voulais faire un script très basique histoire de m'exercer qui demande à l'utilisateur s'il souhaite mettre à jour le serveur ou pas mais j'ai du me gourer quelque part :
#!/bin/bash
echo "Voulez vous mettre à jour le serveur ?"
read repudpate
if [[ "$repupdate" == "Oui" ]]
do
apt-get update && apt-get upgrade -y
echo "Le serveur est à jour"
else
echo "Pas de MAJ"
fi
Dernière modification par Boombastick (Le 13/08/2015, à 15:00)
Hors ligne
#2 Le 13/08/2015, à 15:02
- pingouinux
Re : [BASH] Exécuter une action en bash
Bonjour,
Il faut remplacer do (5ème ligne) par then.
Hors ligne
#3 Le 13/08/2015, à 15:06
- Boombastick
Re : [BASH] Exécuter une action en bash
Bonjour,
Il faut remplacer do (5ème ligne) par then.
Il n'exécute pas la maj mais exécute le else
Hors ligne
#4 Le 13/08/2015, à 15:12
- pingouinux
Re : [BASH] Exécuter une action en bash
Ah oui, je n'avais pas vu…
read repudpate
if [[ "$repupdate" == "Oui" ]]
Pour info, tu peux aussi remplacer ces 2 lignes
echo "Voulez vous mettre à jour le serveur ?"
read repudpate
par
read -p "Voulez vous mettre à jour le serveur ?" repupdate
(J'en ai profité pour corriger la faute de frappe)
Hors ligne
#5 Le 13/08/2015, à 15:27
- Boombastick
Re : [BASH] Exécuter une action en bash
Ah oui, je n'avais pas vu…
read repudpate
if [[ "$repupdate" == "Oui" ]]Pour info, tu peux aussi remplacer ces 2 lignes
echo "Voulez vous mettre à jour le serveur ?" read repudpate
par
read -p "Voulez vous mettre à jour le serveur ?" repupdate
(J'en ai profité pour corriger la faute de frappe)
Merci ça marche nickel !
Hors ligne
#6 Le 14/08/2015, à 08:15
- serged
Re : [BASH] Exécuter une action en bash
Le test :
if [[ "$repupdate" == "Oui" ]]
Est un peu limitatif. un "O", "oui" "Yes" sera pris pour un "non".. En général, je fais :
case $repupdate in
o|O|y|Y)
apt-get update && apt-get upgrade -y
echo "Le serveur est à jour"
;;
*)
echo "Pas de MAJ"
;;
esac
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne