【问题标题】:Call external program from mysql从mysql调用外部程序
【发布时间】:2020-11-28 15:54:03
【问题描述】:

如何从mysql调用外部程序?

我是这方面的初学者,在 Linux Mint 20 上,我创建了一个包含所有视频文件的数据库,视频的路径都列在一个表中。

我可以使用 Bash 访问数据库:

mysql -u root -proot -e "use collection; select path from videos where path Like '%foo%' or path Like '%bar%'"

搜索我想要的内容,但现在我想将选择的视频通过管道传输到 MPV/VLC,无论如何。

除了我是以 root 身份执行此操作之外,我是否以错误的方式进行此操作?

我只想在终端中执行快速搜索,然后启动视频。

非常感谢各位。

【问题讨论】:

  • '如何从 mysql 调用外部程序?' - 你不能 mysql 保存和操作数据(与任何 sql db 相同)它;取决于应用程序对这些数据进行处理,

标签: mysql linux bash linux-mint mpv


【解决方案1】:

如果我理解正确的话。您想在数据库中查询特定类型的文件或路径,然后想使用查询结果打开文件?

你不能从 MySQL 打开程序,但你可以从 bash 打开它。

弄清楚打开该程序的 bash 命令是什么,并使用查询的输出在 bash 中运行一个循环,以逐一打开从查询中获得的结果。

或者,您可以将结果输出到临时文件并使用 bash 读取:

mysql -user -pass -e "YOUR QUERY" > /tmp/output.txt

如果您可以在 output.txt 文件中获得正确的输出,我会考虑使用循环从 bash 中读取该文件。比如:

while IFS= read -r line
do
    mpv "$line"
done < output.txt

【讨论】:

  • 或使用xargs将查询结果中的文件名直接拆分为vlcmplayer的参数。或者将输出格式化为 m3u 播放列表。
猜你喜欢
  • 1970-01-01
  • 2011-11-10
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
  • 2016-03-26
  • 1970-01-01
相关资源
最近更新 更多