[ale] bash script with su

Tim Watts timtw at earthlink.net
Mon Jun 8 12:24:42 EDT 2009


A few possibilities come to mind:

- Could it be a quoting problem (i.e. bash is acting on the quotes and 
effectively turning your command into something like (su initdb) && (pg_ctl 
start) ...

- Is there evidence that the other commands did NOT, in fact, execute (e.g. 
perhaps they ran but the output got tossed)?

- Is it possible that initdb is 'short-circuiting' the sub-shell (i.e. exiting 
the sub-shell upon completion thus preventing the other commands from 
running)? Try the sequence w/o initdb by running it separately from the others 
and see if things improve.

Hope this helps.


On Monday 08 June 2009 10:18:57 am Jim Kinney wrote:
> I have bash script that does a gazillion things. EXCEPT two of the
> "su" lines don't do anything.
>
> user batadm and postgres are created (correctly - they works) followed by:
>
> echo 'export PGHOME=/usr/local/postgresql
> export PGDATA=/data/pgdata
> export PATH=$PGHOME/bin:$PATH
> ' >> /home/postgres/.bashrc
>
> which should set the path to the custom postgresql binaries
>
> now run
>
> su -l -c "initdb && pg_ctl start && createlang plpgsql template1 &&
> createdb batadm && createuser -s batadm " postgres >>$log 2>&1
>
> where $log is a file defined earlier for install data capture. At this
> point it shows an execute of initdb and then nothing.
>
> Does the -c "stuff" just refuse to run sequential comands? I did the
> manual su -l batadm and ran the same command sequence successfully
> after totally deleting all the initdb files structure in postgresql.
> So the stuff inside the quotes works. $PATH _should_ be updated for
> the postgres user by the su -l  .
>
> The same type of "nothing happens" error occurs later when the batadm
> user is called to do a series of new sql script inits for the new
> batadm database. Run manually, the process is fine. Run in a su -l
> sequence of &&'ed calls it fails and generates no error message.
>
> Ideas?
>
> --

-- 
If I were two-faced, would I be wearing this one?
 -- Abraham Lincoln



More information about the Ale mailing list