2010-10-22 59 views
8

我試着寫劇本的PostgreSQL(一個或多個),但具有家當線家當爲PSQL

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

select now(); 

一個問題,如果我剛剛進入psql沒有在命令行的任何參數這使我的錯誤。我該如何做對?

回答

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

我更喜歡第二個。它更明確。 – bitcycle 2014-07-19 18:19:34

+0

''EOF'事情讓我心生疑慮。 – exebook 2016-06-15 09:40:54