From: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
---|---|
To: | Barry Lind <barry(at)xythos(dot)com> |
Cc: | <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: Patch to pg_ctl to better support paths containing |
Date: | 2001-09-20 13:15:41 |
Message-ID: | Pine.LNX.4.30.0109201505310.684-100000@peter.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
Barry Lind writes:
> Attached is a set of changes to pg_ctl that I have been using that fixes
> problems I have had with pg_ctl when the paths contains spaces.
> ! CMDNAME=`basename "$0"`
OK.
> else
> # look for it in PATH ('which' command is not portable)
> ! for dir in `echo "$PATH" | sed 's/ /\\\_/g' | sed 's/:/ /g'`
> do
> + dir="`echo $dir | sed 's/\\\_/ /g'`"
> # empty entry in path means current dir
> [ -z "$dir" ] && dir='.'
Probably better to do this with IFS. Btw., this piece of code exists in
identical form in most other PostgreSQL shell scripts. Do you intend to
fix those as well?
> ! DEFPOSTOPTS="$PGDATA/postmaster.opts.default"
> ! POSTOPTSFILE="$PGDATA/postmaster.opts"
> ! PIDFILE="$PGDATA/postmaster.pid"
This is not necessary.
> if [ "$op" = "status" ];then
> ! if [ -f "$PIDFILE" ];then
> ! PID=`sed -n 1p "$PIDFILE"`
> if [ $PID -lt 0 ];then
... more similar stuff OK ...
> else
> # if we are in restart mode, then look for postmaster.opts
> ! eval set X "`cat "$POSTOPTSFILE"`"; shift
> po_path="$1"
That is not portable. There is no portable way to have double quotes
within backticks within double quotes. You might be able to do something
along the lines of
foo=`cat "$POSTOPTSFILE"`
eval set X "$foo"; shift
The expression in question was carefully engineered to handle single
quotes and spaces in the POSTOPTSFILE correctly, so be careful. ;-)
> if [ -n "$oldpid" ];then
> sleep 1
> ! if [ -f "$PIDFILE" ];then
> ! if [ "`sed -n 1p "$PIDFILE"`" = "$oldpid" ];then
> echo "$CMDNAME: cannot start postmaster" 1>&2
> echo "Examine the log output." 1>&2
Same problem here.
--
Peter Eisentraut peter_e(at)gmx(dot)net http://funkturm.homeip.net/~peter
From | Date | Subject | |
---|---|---|---|
Next Message | Gavin Sherry | 2001-09-20 13:58:37 | CREATE OR REPLACE FUNCTION |
Previous Message | Barry Lind | 2001-09-20 04:19:21 | Patch to pg_ctl to better support paths containing spaces |