Jump to content

[Script] bash et ecriture


Recommended Posts

Voila, j'ai une question peut etre tres bete, mais je n'ai pas réussi à trouver sur google de réponse à ma question ... c'est peut etre parce que c'est compliqué à définir ...

Alors voilà :

J'ai un script bash, qui contient un certain nombre de commandes 'read' pour fixer des paramètres.

Et j'aimerais depuis un second script bash, pouvoir renseigner les réponses à ces questions, sachant que je ne peux pas modifier mon premier script !

__________________________________________________________________________

En fait, j'aimerais pouvoir créer un certificat SSL à l'aide de la commande apache2-ssl-certificate, or celui ci pose des questions apparement via la commande 'read'. Il faudrait donc que je trouve un moyen de renseigner ces réponses via le script d'automatisation que je cherche à réaliser.

Si vous avez des idées, n'hésitez surtout pas !

Link to comment
Share on other sites

Erf, ca ne marche pas pour ce que je souhaite en faire ... d'ailleur j'ai testé rapidement ton exemple, et le fonctionnement est un peu bancal ... :p

Quand j'essaie de le faire fonctionner avec la commande :

% { echo "FR"; echo "France" } | apache2-ssl-certificate --force

pour répondre aux deux premières questions en l'occurence, il me sort :

Country Name (2 letter code) [FR]:string is too long, it needs to be less than 2 bytes long

Country Name (2 letter code) [FR]:problems making Certificate Request

Il me semblait y avoir une solution à base de redirections avec la commande 'cat' mais impossible de retrouver le lien .... :mdr:

Link to comment
Share on other sites

Avec sh ou bash il faut mettre des parenthèses à la place des accolades.

Mais sinon tu met dans un seul fichier shell, avec les lignes les unes au dessous des autres.

en effet, je viens de trouver !

( echo FR; echo France ) | apache2-ssl-certificate --force

et la ca passe ;)

Merci bien pour ton aide ! ;)

Link to comment
Share on other sites

je désire intégrer cette commande à un script.

Voilà donc la tête de la commande :

(echo $COUNTRY; echo $STATE; echo $LOCALITY; echo $ORGANIZATION_NAME; echo $ORGANIZATIONAL_UNIT_NAME; echo $SERVER_NAME; echo $EMAIL) | apache2-ssl-certificate

le soucis, c'est que je dois l'éxécuter via un chroot ...

et la, ca ne passe pas, il ne comprends pas les parenthèses car il cherche à exécuter directement la commande ... :s

Une idée ?

Link to comment
Share on other sites

C'est la 2ème commande que tu veux lancer avec sudo, donc il n'y a pas de problème :

(echo $COUNTRY; echo $STATE; echo $LOCALITY; echo $ORGANIZATION_NAME; echo $ORGANIZATIONAL_UNIT_NAME; echo $SERVER_NAME; echo $EMAIL) | sudo apache2-ssl-certificate

(d'ailleurs pour une meilleure visilibilité (dans un script), il y a moyen de mettre les commandes comme ça :

(
 echo a
 echo b
) | cat

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...