Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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
用于执行Java控制台应用程序的Bash脚本_Java_Bash - Fatal编程技术网

用于执行Java控制台应用程序的Bash脚本

用于执行Java控制台应用程序的Bash脚本,java,bash,Java,Bash,我有一个Java控制台应用程序,它接受用户输入并根据输入执行操作。以下是示例: **支出表乘数** ======================================= 皇家同花顺| 250 直冲式| 50 一类四个| 25 座无虚席| 9 齐平| 6 直| 5 一类三个| 3 两对| 2 皇家一对 ----------------------------------- 结余:500美元 输入下注: 我必须输入要下注的金额: 输入下注:300 手牌:[K黑桃,J黑桃,10支梅花,9颗

我有一个Java控制台应用程序,它接受用户输入并根据输入执行操作。以下是示例:

**支出表乘数**
=======================================
皇家同花顺| 250
直冲式| 50
一类四个| 25
座无虚席| 9
齐平| 6
直| 5
一类三个| 3
两对| 2
皇家一对
-----------------------------------
结余:500美元
输入下注:
我必须输入要下注的金额:

输入下注:300
手牌:[K黑桃,J黑桃,10支梅花,9颗钻石,J颗红桃]
输入要保留的卡的位置(例如1 4 5):
输入要保留的卡的位置(例如1 4 5):
3.
持卡人:[10个俱乐部]
新手:[10根棍棒,5根棍棒,10颗红心,一颗钻石,10颗钻石]
**一类三个**
您的余额:1400美元
再来一场(是还是不是)?
Y

我只需要一个bash脚本的想法来帮助我自动化这个手动过程。

根据您想要输入的不同案例的复杂性,您可能能够使用
expect

类似问题的示例:

例如:

#!/usr/bin/expect
eval spawn java Main

# May need to adjust prompts to match better
interact -o -nobuffer -re "Enter bet: " return
send "300\r"
interact -o -nobuffer -re "Enter positions of cards to keep (e.g. 1 4 5):\r" return
send "3\r"
interact -o -nobuffer -re "One more game (y or n)?" return
send "y\r"
interact

控制台应用程序的要点通常是用户将与应用程序交互。改为通过命令行将参数传递给非控制台应用程序如何?您的意思是,您正在询问如何将输入通过管道传递到程序(使用