1
我有一個返回日期的sql查詢。 我從shell腳本中調用此查詢,並希望將此值分配給名爲datestart的變量(並稍後使用它)。這是我的代碼。如果沒有datestart賦值,查詢就可以正常工作。如何將查詢結果分配給shell變量
#!/bin/sh
firstname="-Upgsql"
dbname="statcoll"
portname="-p5438"
datestart=(psql $firstname $portname $dbname<< EOF
SELECT MIN(latestrefdate) FROM (SELECT MAX(referencedate) AS latestrefdate FROM statistics WHERE transactionname IN(SELECT DISTINCT transactionname FROM statistics WHERE platform = 'Smarties')GROUP BY transactionname) as earliest;
EOF
)
echo $datestart
但結果是這樣的:
Syntax error: word unexpected (expecting ")").
我不知道我應該在哪裏插入右括號。任何暗示是讚賞。
我真的建議'$(..)'在反引號,反引號完全不互相內使用時正常工作,而嵌套表達式中使用'$(都是精品。 )' – scragar
是的,它幾乎解決了我的問題。代替實際的日期值,標題的內容被分配給變量。所以我期望這樣的'2014-05-23',但得到'分-----(1行)'而不是 –
這是由於列標題和頁腳文本。請參閱[本問答](http://dba.stackexchange.com/questions/24215/how-to-turn-off-header-only-in-psql-postgresql) – anubhava