Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
在shell中,如何将comand2作为comand1的continue_Shell - Fatal编程技术网

在shell中,如何将comand2作为comand1的continue

在shell中,如何将comand2作为comand1的continue,shell,Shell,我有一个shell文件,我想像这样使用它 ./flow.sh connect localhost login user password 连接成功后,将等待下一个命令, 然后我将输入第二个命令,如 deploymenet xxxx.xml 现在我的问题是如何将2命令转换成1命令行,因为我想在ruby文件中调用它。 我在ruby中调用shell的方式类似于“%x[command1;command2]”。但它会出错,因为comand2将被视为shell命令,而不是cammand1之后的输入 如何

我有一个shell文件,我想像这样使用它

./flow.sh connect localhost login user password
连接成功后,将等待下一个命令, 然后我将输入第二个命令,如

deploymenet xxxx.xml
现在我的问题是如何将2命令转换成1命令行,因为我想在ruby文件中调用它。 我在ruby中调用shell的方式类似于“%x[command1;command2]”。但它会出错,因为comand2将被视为shell命令,而不是cammand1之后的输入

如何解决这个问题?谢谢你的帮助。

试试这个:

echo 'deploymenet xxxx.xml' | ./flow.sh connect localhost login user password

您是否尝试将其传送到进程对象的stdin?@Ignacio Vazquez Abrams您的意思是:./flow.sh connect localhost login user passwordRegd您得到的错误:如果手动执行,它是否工作?输入
/flow.sh
command&在提示符下,手动输入
deployment….
command。@anishsane是的,它工作正常,手动输入没有错误最坏的情况下,请尝试
expect
command。获取错误:com.tool.ActivitRest.main(ActivitRest.java:117)上的线程“main”java.lang.NullPointerException中出现异常,但是,在数据库中部署xml是成功的,而不知道
flow.sh
中有什么内容,我对此无能为力。实际上,这很简单,只需调用一些jar。我会自己尝试解决这个问题。谢谢你的帮助。