On Mon, 22 Sep 2003 [EMAIL PROTECTED] wrote: > >You do realize that the shell is going to interpret that string in > >double quotes right? > I guess so, for the very same I have tried with > Command: psql test -c "> CREATE FUNCTION add_one (integer) RETURNS > INTEGER AS ' BEGIN RETURN ''$1'' + 1; END; ' LANGUAGE > 'plpgsql';" > But still it is not taking it as $1, instead empty string. > Ideeally it shud consider $1 as string... but why isn't it
The shell interprets the double quoted string and effectively replaces $1 with the shell's idea of what to put in place of it. This really has nothing to do with postgres at all. Use a backslash before the $1, or put it in a file and execute it from there. Try these for example: echo "$1" echo '$1' echo "\$1" ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])