我有一個簡單的java程序(將其視爲Apple的Siri),當從終端啓動時,等待用戶鍵入問題,然後打印出回覆。我想創建一個啓動java程序的bash腳本,然後給它一些問題(就好像一個人正在鍵入它們一樣)。這是我的嘗試:通過bash腳本向Java程序提供輸入
#!/bin/bash
# change to project directory
cd C:/JavaProjects/VirtualButler
#compile the program
javac Alfred.java
#start the program
java Alfred
#Give it questions
echo Hey what time is it?\r
echo When is my next meeting?\r
#keep the terminal open so I can see the answer
PAUSE
然而,當我運行bash腳本,在處理卡在的Java阿爾弗雷德線(這是在開CMD運行,等待用戶鍵入的問題和只有當我終止Java程序時,處理纔會繼續,並且得到我想要自動傳遞給Java程序的問題。有沒有辦法在Java程序運行時自動將這些問題傳遞給Java程序cmd?
'coproc'的好用# – anubhava
謝謝,這正是我一直在尋找的! – 1vko
所以,當我早些時候嘗試這種方法時,我只是在終端上鍵入命令,一切正常。但是,當我將代碼放入bash腳本並運行腳本時,我收到一條錯誤消息** testScript.sh:2:testScript.sh:coproc:not found **。我有bash 4.3.11版本,但_coproc_似乎無法通過bash腳本識別(即使它在終端上輸入時工作正常)。我可能在bash腳本中犯了一些語法錯誤,但我無法弄清楚什麼。你能告訴我我可能會做什麼錯嗎?謝謝! – 1vko