Je cherche à automatiser la création d'un utilisateur PostgreSQL avec un script bash.
Je spécifie le mot de passe initial tel que demandé par la commande "createuser", et je voudrais le faire en bash, ce qui selon moi implique un document ici.
Pourtant, les réponses aux invites que j'ai spécifiées n'atteignent pas la commande "createuser" ! Voici comment entrer directement le script sur la ligne de commande :
-bash-4.1$ createuser mynewuser -P < fakepassword
> fakepassword
> n
> n
> n
> ENDBEFORETHIS
Entrez le mot de passe pour le nouveau rôle :
-bash-4.1$
Pourquoi est-ce ?
- Comment puis-je transmettre l'entrée au script createuser ?
- Y a-t-il un moyen plus efficace de le faire ?
Pour ceux qui nous rejoignent, "<<" est appelé un document ici ou un "heredoc", qui envoie essentiellement les lignes suivantes à la commande en tant que stdin. Il s'exécute jusqu'à l'étiquette correspondante spécifiée après "<<".