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



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

**Payout Table          Multiplier**
=======================================
Royal Flush     |       250
Straight Flush  |       50
Four of a Kind  |       25
Full House      |       9
Flush           |       6
Straight        |       5
Three of a Kind |       3
Two Pairs       |       2
Royal Pair      |       1
-----------------------------------
Balance: $500
Enter bet:

我必须输入要下注的金额:

Enter bet: 300
HAND: [K Spades, J Spades, 10 Clubs, 9 Diamonds, J Hearts]  
Enter positions of cards to keep (e.g. 1 4 5):
Enter positions of cards to keep (e.g. 1 4 5):  
3
Held Cards: [10 Clubs]  
NEW HAND: [10 Clubs, 5 Clubs, 10 Hearts, A Diamonds, 10 Diamonds]
**Three of a Kind**
Your balance: $1400  
One more game (y or n)?
y

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

根据您想要输入的不同案例的复杂性,您可能可以使用expect:https://linux.die.net/man/1/expect

类似问题的示例:在Bash脚本中使用Expect为SSH命令提供密码

示例:

#!/usr/bin/expect
eval spawn java Main
# May need to adjust prompts to match better
interact -o -nobuffer -re "Enter bet: " return
send "300r"
interact -o -nobuffer -re "Enter positions of cards to keep (e.g. 1 4 5):r" return
send "3r"
interact -o -nobuffer -re "One more game (y or n)?" return
send "yr"
interact

相关内容

最新更新