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

Résolu
nummix Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
nummi Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
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 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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 Date d'inscription   Statut Membre Dernière intervention  
 
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 Date d'inscription   Statut Membre Dernière intervention  
 
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 12 Date d'inscription   Statut Membre Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention  
 
Super merci c'est exactement ce qu'il me fallait :D !!
0