从 mysql 调用外部程序
Call external program from mysql
如何从 mysql 调用外部程序?
我完全是初学者,在 Linux Mint 20 上,我创建了一个包含我所有视频文件的数据库,视频的路径都列在 table 中。
我可以使用 Bash 访问数据库:
mysql -u root -proot -e "use collection; select path from videos where path Like '%foo%' or path Like '%bar%'"
要搜索我想要的内容,但现在我想将所选视频通过管道传输到 MPV/VLC,随便什么。
除了我是以 root 身份执行此操作之外,我是否以错误的方式进行此操作?
我只想在终端中执行快速搜索,然后启动视频。
非常感谢大家。
如果我没理解错的话。您想在数据库中查询特定类型的文件或路径,然后使用查询结果打开文件吗?
您无法从 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
如何从 mysql 调用外部程序?
我完全是初学者,在 Linux Mint 20 上,我创建了一个包含我所有视频文件的数据库,视频的路径都列在 table 中。
我可以使用 Bash 访问数据库:
mysql -u root -proot -e "use collection; select path from videos where path Like '%foo%' or path Like '%bar%'"
要搜索我想要的内容,但现在我想将所选视频通过管道传输到 MPV/VLC,随便什么。
除了我是以 root 身份执行此操作之外,我是否以错误的方式进行此操作?
我只想在终端中执行快速搜索,然后启动视频。
非常感谢大家。
如果我没理解错的话。您想在数据库中查询特定类型的文件或路径,然后使用查询结果打开文件吗?
您无法从 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