0

我正在制作一个 bash 脚本来向启动的程序发送命令,我在互联网上创建的唯一方法是通过命名管道

有没有更简单的方法可以在同一个脚本中完成所有操作?因为命名管道的问题是我必须有 3 个脚本,一个用于管理程序,另一个从 main 发送信息,然后阅读器将信息解析到程序(如果我正确理解了上面的链接)。

这是一个问题,因为经理必须打电话给其他人,因为我需要读者接收一组文件作为输入,我发现没有办法这样做,如果你知道如何请回答这个其他问题。

谢谢

--- 26/01/2012 ---

卡尔发帖后我试过了

#!/bin/bash

MUS_DIR="/home/foo/dir/music"

/usr/bin/expect <<-_EOF_
spawn vlc --global-key-next n $MUS_DIR
sleep 5
send 'n'
sleep 5
send "n"
_EOF_

但它不起作用,它只是产生 vlc 但它不会跳过这首歌

4

2 回答 2

0

您可能想检查一下expect(1)

于 2013-01-12T00:57:29.300 回答
0

有关您要与之通信的程序的更多详细信息将很有用。

本质上,您只需要某种进程间通信。可以使用文件/管道/信号/套接字。例如,写入脚本中的特定文件,然后向程序发送中断,以便它知道检查文件。

取决于你选择的语言,以及你可以花多少时间在这个/这个项目有多大。您可以让启动的程序使用线程在端口上侦听 TCP 数据包并对其做出反应。然后在您的 bash 脚本中,您可以 netcat 信息,或使用 curl 发送 HTTP POST。

您确定应用程序不可能由脚本启动吗?允许脚本只传递参数或定义一些环境变量。

于 2013-01-12T01:30:38.913 回答