Shell : réponse automatisée à [y/n]

Résolu
nummix Messages postés 3 Statut Membre -  
nummi Messages postés 55 Statut Membre -
Bonjour,

Je suis en train d'essayer d'automatiser des manipulations sous Debian (6.0.3) en ligne de commande. J'ai créé un script Shell, appelé par Cron (avec les permissions de root), qui permet la création automatique d'un utilisateur dans openVPN. (en gros)

pour ceux qui connaissent, à la commande (avec $1 étant le nom de d'utilisateur):
./build-key $1 

je dois appuyer 5 fois sur entrer, jusque là pas de soucis ca marche, mais après j'ai 2 questions ([y/n]) pour savoir si je souhaite créer des certificats et les signer. Et je dois répondre y pour que tout marche correctement...

Avez-vous une idée de comment indiquer à mon script shell comme afficher (et valider) les 2 réponses "y" après avoir fait 5 fois "enter" pour valider.

Merci d'avance pour vos réponses !
Cordialement
Nummix
A voir également:

2 réponses

zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Salut,

Avec un fichier de réponses ;-))

$ cat foo.sh  
#! /bin/bash 

i=1 

echo "Le paramètre en entrée est : ${1}" 
echo 

while [ "${i}" -le 5 ] 
do 
read -s -n1 -p "Appuyez sur une touche..." touche 
echo "Entrée ${i}" 
((i++)) 
done 

echo 
read -p "Voulez-vous continuez y/n ? " one 
echo "Réponse : ${one}" 
read -p "Voulez-vous continuez y/n ? " two 
echo "Réponse : ${two}" 
echo 
echo "Fin" 

$ cat plop # Le fichier de réponse avec 5 lignes vides puis les  2 réponses  





y 
n 

$ ./foo.sh blabla < plop # Exécution avec un paramètre plus le fichier de réponses  
Le paramètre en entrée est : blabla 

Entrée 1 
Entrée 2 
Entrée 3 
Entrée 4 
Entrée 5 

Réponse : y 
Réponse : n 

Fin 

$

Zen my nuggets ;-)
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
2
nummix Messages postés 3 Statut Membre
 
Bonjour,

Bon j'ai réussi à mettre tout en place, le seul soucis c'est que maintenant j'ai bien mes 5 lignes qui se valident correctement mais lorsqu'il me pose la question "finale", ou je dois rentrer [y/n] pour valider la signature du certificat, il ne prend pas en compte le y, il me renvoie une erreur :
Sign the certificate? [y/n]:CERTIFICATE WILL NOT BE CERTIFIED: I/O error


Y a t-il une proctection ou quelque chose dans le genre ? Tu aurais une une diée ?
Merci pour ton aide.

Cordialement
Nummix
0
reneca41 Messages postés 2 Statut Membre
 
Bonjour,

Pour résoudre votre problème il suffit d'éditer votre fichier build-key, et remplacer --interact par --batch, pour que la validation ne provienne pas d'une touche du clavier.

cordialement

Renéca
0
nummi Messages postés 55 Statut Membre 1
 
Bonjour,

J'ai pas eu le temps de remercier, mais c'est exactement ce dont j'avais besoin, merci beaucoup :D !!!

Cordialement
0
nummix Messages postés 3 Statut Membre
 
Super merci c'est exactement ce qu'il me fallait :D !!
0