Bash 将Curl请求的结果传递给mysql命令行

Bash 将Curl请求的结果传递给mysql命令行,bash,curl,capistrano,Bash,Curl,Capistrano,所以这是一个有点奇怪的请求,但希望这里的人知道一些命令行。可能也必须发布到serverfault,我们拭目以待 我试图弄清楚如何将curl请求的结果传递给mysql命令行应用程序。基本上是这样的- mysql --user=root --password=my_pass < (curl http://localhost:3000/application.sql) mysql--user=root--password=my_pass

所以这是一个有点奇怪的请求,但希望这里的人知道一些命令行。可能也必须发布到serverfault,我们拭目以待

我试图弄清楚如何将curl请求的结果传递给mysql命令行应用程序。基本上是这样的-

mysql --user=root --password=my_pass < (curl http://localhost:3000/application.sql) 
mysql--user=root--password=my_pass<(curlhttp://localhost:3000/application.sql) 
其中,该URL基本上返回带有sql语句的文本响应

一些背景:

我正在开发的应用程序支持多个安装,作为新实例安装过程的一部分,我们为新实例创建一个“数据”数据库副本

我试图尽可能地自动化部署过程,因此我在rails中构建了一个小型的“仪表板”应用程序,可以为每个实例生成sql语句、配置文件等,还可以帮助我们查看实例的统计信息和其他有趣的东西。现在,我正在编写capistrano任务,以便根据作为变量传入的安装ID实际执行部署

初始部署设置包括创建应用程序数据库,此sql请求将执行此操作。理论上,我可以在wget请求中提取文件,执行并删除它,但我认为只告诉远程服务器curl请求它,然后一步执行它会更干净


有什么想法吗

我相当肯定您最初使用的语法不会像“那样工作,我相当肯定您最初使用的语法不会像Bash中的“那样工作,您可以执行进程替换:

mysql ... < <(curl ...)

mysql…< 在Bash中,您可以执行进程替换:

mysql ... < <(curl ...)

mysql…<我不知道你能做到这一点,这很好。我不知道你能做到这一点,这很好。