Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将信息从bash脚本发送到程序_Bash_Command Line_Pipe - Fatal编程技术网

将信息从bash脚本发送到程序

将信息从bash脚本发送到程序,bash,command-line,pipe,Bash,Command Line,Pipe,我正在制作一个bash脚本来向一个启动的程序发送命令,我在互联网上建立的唯一方法就是通过 有没有一种更简单的方法可以在同一个脚本中完成这一切?因为命名管道有一个问题,我必须有3个脚本,一个用于管理程序,另一个用于从main发送信息,然后从reader将信息解析到程序(如果我正确理解了上面的链接) 这是一个问题,因为经理不得不打电话给其他人,因为我需要阅读器接收一系列文件作为输入,而我找不到这样做的方法,如果你知道怎么做的话 多谢各位 ---2012年1月26日--- 卡尔·波斯特之后我试过了 #

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

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

这是一个问题,因为经理不得不打电话给其他人,因为我需要阅读器接收一系列文件作为输入,而我找不到这样做的方法,如果你知道怎么做的话

多谢各位

---2012年1月26日---

卡尔·波斯特之后我试过了

#!/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_
#/bin/bash
MUS_DIR=“/home/foo/DIR/music”

/usr/bin/expect您可能想要签出。

有关您想要与之通信的程序的更多详细信息将非常有用

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

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


您确定无法通过脚本启动应用程序吗?允许脚本只传递参数或定义一些环境变量。

我是bash脚本新手,所以我不确定任何事情,我想与之通信的程序是vlc,我想启动它,然后要求用户输入一些输入,并将选择发送到程序。例如,如果用户按“n”键,则向vlc发送命令以切换到下一首歌曲。谢谢你的好意我也是stackoverflow论坛的新手,所以我不知道你是否收到了最后一条评论的通知,因为我没有提到你的名字:你为什么把expect脚本嵌套在bash脚本中?我在这里尝试过(使用Mac VLC),但它似乎根本不接受stdin的输入-你确定你正在尝试做一些甚至可能的事情吗?因为我需要在脚本的后面继续使用bash命令,如果你在终端(至少在ubuntu中)中启动VLC--global key next n,然后按n,它会跳过歌曲,所以是的,我想它接受stdin。。。