Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

pingouinux a écrit :

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

pingouinux a écrit :

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 ! smile

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