Rechercher : dans
Par :

Question d'un script bash

Dernière réponse le 12 avr 2009 à 23:08:27 GhostRider74, le 12 avr 2009 à 22:33:07 
 Signaler ce message aux modérateurs

Bonjour,
je code actuellement un petit script qui me permettrait de préparer mes serveur dédié quand je les reçois (mise a jour , installation de paquets et préparation d'un backup contenant les fichiers des serveurs de jeux).
Mais je bloque .
En effet a un moment quand j'execute le fichier hldsupdatetool.bin la console me pose une question a la quel je dois répondre 'yes' et j'aimerais ne pas avoir a y répondre , que le script réponde tout seul quoi .
Pourriez vous me donner des idées ?
Si besoin voici mon script :

#!/bin/bash
#
# prepadedie V.1.0 
# Avril 2009
# Script pour installer et faire les modifications necessaire aux nouveaux dédié de BAMBOX
# p.i.m.p@hotmail.fr 

#Présentation du programme et demande de l'accord de l'utilisateur

echo "Vous vous appretez à utiliser un script qui préparera votre serveur dédié."
echo "Les créateurs déclinent toute responsabilité si votre système est endomagé."
echo "Ce script est fait pour fonctionner sur la distibution Ubuntu 8.10 Intrepid Ibex."
echo "Pour executer ce programme vous devez être logué en root."

echo "Donnez vous l'accord au programme de s'éxecuter ? (O/n)"
read ACCORD
	if [ ${ACCORD} != "O" && ${ACCORD} != "o" ]
	then
	echo "le programme va maintenant être arrété."
	exit
	fi
#Vérification que l'utilisateur est bien logué
	if [ ! `whoami` = "root" ]
	then
	echo "vous n'avez pas les droits d'acces !"
	echo "le programme va maintenant être arrété ."
	exit
	fi
#Début du script 
echo -e "\v\v\v"
echo "Début de la mise a jour de votre serveur."
apt-get update 
echo -e "\v"
apt-get dist-upgrade -qq -y
echo -e "\v"
echo "La mise a jour c'est bien déroulée."
echo -e "\v\v\v"
echo "Installation des paquets."
apt-get install clamav unrar unrar-free proftpd
echo "L'installation des paquets s'est bien déroulée."
#Création du backup
echo "Début de l'instalation du backup"
mkdir /home/backup
cd /home/backup
mkdir cs1.6
mkdir cz
mkdir css
mkdir dod
mkdir dods
mkdir l4d
swget http://www.steampowered.com/download/hldsupdatetool.bin
chmod 777 hldsupdatetool.bin
./hldsupdatetool.bin -qq -y
rm hldsupdatetool.bin
./steam update
./steam update
./steam -command update -game "cstrike" -dir cs/
./steam -command update -game "czero" -dir cz/
./steam -command update -game "dod" -dir dod/
./steam -command update -game "Counter-Strike Source" -dir css/
./steam -command update -game "dods" -dir dods/
./steam -command update -game "left4dead" -dir l4d/
exit


Cordialement .
Configuration: Linux
Firefox 3.0.8

Meilleures réponses pour « Question d'un script bash » dans :
Bash - Les paramètres VoirIntroduction Les paramètres positionnels Exemple 1 Les paramètres spéciaux Exemple 2 Initialiser des paramètres - La commande "set" - Exemples - La commande "shift" - Exemple 3 Introduction Il est possible de fournir à un script,...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...

1

linuseiya, le 12 avr 2009 à 22:37:35
  • +1

Bonsoir,
Je pense que supprimer le passage suivant pourrait marcher. Fais un backup du fichier avant au cas où.
"
echo "Donnez vous l'accord au programme de s'éxecuter ? (O/n)"
read ACCORD
if [ ${ACCORD} != "O" && ${ACCORD} != "o" ]
then
echo "le programme va maintenant être arrété."
exit
fi
"

Répondre à linuseiya

2

GhostRider74, le 12 avr 2009 à 22:39:37
  • +1

Oui mais c'est en exécutant ./hldsupdatetool.bin plus bas que ça me gène .
Moi je voudrai que une fois que l'on a tapé oui on puisse partir et laisser faire

Répondre à GhostRider74

3

jipicy, le 12 avr 2009 à 22:40:53
  • +1

Salut,

./ton_script <<< "o"
;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

4

linuseiya, le 12 avr 2009 à 22:42:27

Oups désolé j'ai lu trop vite la question. Désolé je ne sais pas si tu peux éviter cette confirmation, c'est une mesure de sécurité je pense.

Répondre à linuseiya

5

GhostRider74, le 12 avr 2009 à 22:47:15

Oula ,
alors en faisant comme tu as dis sa a carement repeté la question X fois et fais planté le dedie :(

Répondre à GhostRider74

6

jipicy, le 12 avr 2009 à 22:50:30
  • +1

Bizarre chez moi ça marche bien pourtant...

Alors mets le "o" dans un fichier :

echo "o" > fichier

et appelle ton script comme suit :
./ton_script < fichier
;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

7

GhostRider74, le 12 avr 2009 à 22:50:47

C'est bon j'ai trouvé il suffisait de remplacer o par yes lol merci

Répondre à GhostRider74

8

jipicy, le 12 avr 2009 à 23:00:29

Je suis étonné que ça marche ;-\
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

9

GhostRider74, le 12 avr 2009 à 23:02:14

A bon pourquoi?

Répondre à GhostRider74

10

jipicy, le 12 avr 2009 à 23:02:35

[tmpfs]$ cat toto.sh
#! /bin/sh

#set -xv

echo "Voulez-vous continuer ?"
read reponse
if [ "$reponse" == "o" ]
then
echo "Reponse = Oui"
else
echo "Reponse = Non"
fi

[tmpfs]$ ./toto.sh <<< "o"
Voulez-vous continuer ?
Reponse = Oui

[tmpfs]$ ./toto.sh <<< "yes"
Voulez-vous continuer ?
Reponse = Non

[tmpfs]$ ./toto.sh <<< "u"
Voulez-vous continuer ?
Reponse = Non

[tmpfs]$  
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

11

GhostRider74, le 12 avr 2009 à 23:04:51

Oui mais moi c'est acceptez vous ... (yes/no)
et quand j'ai mis yes ba ca a marché ^^

Répondre à GhostRider74

12

jipicy, le 12 avr 2009 à 23:06:13

echo "Donnez vous l'accord au programme de s'éxecuter ? (O/n)"
read ACCORD
	if [ ${ACCORD} != "O" && ${ACCORD} != "o" ]
	then
	echo "le programme va maintenant être arrété."
	exit
Ben c'était pas évident à deviner ;-((
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

13

GhostRider74, le 12 avr 2009 à 23:07:10

Vomme je l'ai di c'est pas pour cette parti c'est pour hldsupdatetool.bin plus ba ;)

Répondre à GhostRider74

14

 jipicy, le 12 avr 2009 à 23:08:27

Oups j'avions pas z'été si bas ;-(

;-)) $ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy
Collection CommentÇaMarche.net