Question d'un script bash

Résolu
GhostRider74 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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 https://store.steampowered.com/
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 .
A voir également:

12 réponses

linuseiya Messages postés 324 Date d'inscription   Statut Membre Dernière intervention   29
 
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
"
1
GhostRider74 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   8
 
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
1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,
./ton_script <<< "o"
;-))
1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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
;-))
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
linuseiya Messages postés 324 Date d'inscription   Statut Membre Dernière intervention   29
 
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.
0
GhostRider74 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   8
 
Oula ,
alors en faisant comme tu as dis sa a carement repeté la question X fois et fais planté le dedie :(
0
GhostRider74 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   8
 
C'est bon j'ai trouvé il suffisait de remplacer o par yes lol merci
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Je suis étonné que ça marche ;-\
0
GhostRider74 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   8
 
A bon pourquoi?
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
[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]$  
0
GhostRider74 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   8
 
Oui mais moi c'est acceptez vous ... (yes/no)
et quand j'ai mis yes ba ca a marché ^^
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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 ;-((
0
GhostRider74 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   8
 
Vomme je l'ai di c'est pas pour cette parti c'est pour hldsupdatetool.bin plus ba ;)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Oups j'avions pas z'été si bas ;-(

;-))
0