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 -
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 :
Cordialement .
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:
- Bash question
- Bingo bash free - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash addition - Forum Programmation
12 réponses
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
"
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
"
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
Moi je voudrai que une fois que l'on a tapé oui on puisse partir et laisser faire
Bizarre chez moi ça marche bien pourtant...
Alors mets le "o" dans un fichier :
et appelle ton script comme suit :
Alors mets le "o" dans un fichier :
echo "o" > fichier
et appelle ton script comme suit :
./ton_script < fichier;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
Oula ,
alors en faisant comme tu as dis sa a carement repeté la question X fois et fais planté le dedie :(
alors en faisant comme tu as dis sa a carement repeté la question X fois et fais planté le dedie :(
[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]$
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é." exitBen c'était pas évident à deviner ;-((