Thread: How do create a user with a bashscript
Hi. I want to create a user with the createuser command and supply the password at the command line in a script, like this #!/bin/bash createuser myuser but I want to supply a password on the command line, is that possible? The docs tells me no, but does anyone know of a workaround?
A B <gentosaker@gmail.com> schrieb: > Hi. > I want to create a user with the createuser command and supply the > password at the command line in a script, like this > > #!/bin/bash > createuser myuser > > but I want to supply a password on the command line, is that possible? > The docs tells me no, but does anyone know of a workaround? Maybe with expect(1): NAME expect - programmed dialogue with interactive programs, Version 5 SYNOPSIS expect [ -dDinN ] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ] INTRODUCTION Expect is a program that "talks" to other interactive programs according to a script. Following the script, Expectknows what can be expected from a program and what the correct response should be. An interpreted language provides branching and high-levelcontrol structures to direct the dialogue. In addition, the user can take control and interact directly when desired, afterward returning controlto the script. Andreas -- Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) "If I was god, I would recompile penguin with --enable-fly." (unknown) Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
2008/9/19 Andreas Kretschmer <akretschmer@spamfence.net>: > A B <gentosaker@gmail.com> schrieb: > >> Hi. >> I want to create a user with the createuser command and supply the >> password at the command line in a script, like this >> >> #!/bin/bash >> createuser myuser >> >> but I want to supply a password on the command line, is that possible? >> The docs tells me no, but does anyone know of a workaround? > > Maybe with expect(1): > > NAME > expect - programmed dialogue with interactive programs, Version 5 > > SYNOPSIS > expect [ -dDinN ] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ] > > INTRODUCTION > Expect is a program that "talks" to other interactive programs according to a script. Following the script, Expectknows what can be expected > from a program and what the correct response should be. An interpreted language provides branching and high-levelcontrol structures to direct > the dialogue. In addition, the user can take control and interact directly when desired, afterward returning controlto the script. > > > > Andreas I managed to do it by calling psql and setting the password in the command (with -c option). Took some time to figure out that I had to use the template1 database when connecting.
On Fri, 2008-09-19 at 09:11 +0200, A B wrote: > #!/bin/bash > createuser myuser > > but I want to supply a password on the command line, is that possible? > The docs tells me no, but does anyone know of a workaround? psql mydb -c "ALTER ROLE myrole WITH ENCRYPTED PASSWORD mypass" could work, I think. -- Devrim GÜNDÜZ, RHCE devrim~gunduz.org, devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr http://www.gunduz.org