Shebang for psql

时间:2010-10-22 09:03:20

标签: postgresql shebang psql

我正在尝试编写PostgreSQL脚本但是遇到了shebang line的问题

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

select now();

这给了我错误,好像我刚刚在命令行中输入psql而没有任何参数。我该怎么做?

2 个答案:

答案 0 :(得分:13)

问题是psql不会跳过文件的第一行。

你可以尝试

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

select now();

或只是

#! /bin/sh
psql << E_O_SQL

select now();

E_O_SQL

答案 1 :(得分:2)

有一个更好的解决方案。第一行应该是:

--() { :; }; exec psql -f "$0"

它作为一个常规的shebang#!

http://rosettacode.org/wiki/Multiline_shebang#PostgreSQL