0

如何从mysql调用外部程序?

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

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

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

搜索我想要的,但现在我想将选择的 vid(s) 传输到 MPV/VLC,无论如何。

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

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

非常感谢,伙计们。

4

1 回答 1

4

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

您不能从 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
于 2020-08-08T14:41:31.313 回答