2010-10-22 19 views
8

Estoy intentando escribir escritura (s) PostgreSQL pero tener un problema con la línea shebangShebang para psql

#! /usr/bin/psql [ psql_args_here ] -f 

select now(); 

Esto me da error como si acaba de entrar en psql sin ningún argumento en la línea de comandos. ¿Cómo lo hago bien?

Respuesta

13

El problema es que psql no omite la primera línea del archivo.

Usted podría intentar

#! /bin/sh 
exec sh -c "tail -n +3 $0 | psql -f -" 

select now(); 

o simplemente

#! /bin/sh 
psql << E_O_SQL 

select now(); 

E_O_SQL 
+1

me gusta mucho más el segundo. Es más explícito. – bitcycle

+0

la cosa '<< EOF' me hace pensar. – exebook

Cuestiones relacionadas