首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >psql的Shebang

psql的Shebang
EN

Stack Overflow用户
提问于 2010-10-22 17:03:20
回答 2查看 1.6K关注 0票数 11

我正在尝试编写PostgreSQL脚本,但在使用shebang行时遇到问题

代码语言:javascript
运行
复制
#! /usr/bin/psql [ psql_args_here ] -f

select now();

这会给我一个错误,就好像我刚刚在命令行中输入了没有任何参数的psql。我怎么才能做对呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-22 18:04:18

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

你可以试一试

代码语言:javascript
运行
复制
#! /bin/sh
exec sh -c "tail -n +3 $0 | psql -f -"

select now();

或者简单地说

代码语言:javascript
运行
复制
#! /bin/sh
psql << E_O_SQL

select now();

E_O_SQL
票数 15
EN

Stack Overflow用户

发布于 2018-04-20 03:35:38

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

代码语言:javascript
运行
复制
--() { :; }; exec psql -f "$0"

它就像一个普通的shebang #!

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3995326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档