在shell脚本中,psql命令发出错误。但是,如果我在终端中手动运行它运行没有任何错误

时间:2015-06-25 07:52:35

标签: bash shell psql

我正在尝试运行一个从给定位置运行sql文件的shell脚本,结果输出在另一个位置创建一个文件。我的问题是,当我运行脚本时,它给出了一个错误说法 "语法错误:意外的文件结束"从以下行。

psql -h 192.168.1.550 -U myuser -d DBONE -f /home/dbfunction/scripts/test.sql

我的错误代码是这样的,

if [ "$filename" != "*" ]; then
psql -h 192.168.1.550 -U myuser -d DBONE &> /home/dbfunction/results/report.txt -f /home/dbfunction/scripts/test.sql << EOF
EOF
fi

如果我在终端中从同一位置运行相同的命令,则运行时没有任何错误。我的手动运行命令是,

psql -h 192.168.1.550 -U myuser -d DBONE &> /home/dbfunction/results/report.txt -f /home/dbfunction/scripts/test.sql

我删除了psql命令行和EOF行并添加了一些echo。它的工作没有任何错误。我认为&lt;&lt;&lt;&lt;&lt; EOF和EOF

有人可以帮我解决这个问题吗?

0 个答案:

没有答案