HDI 腳本在命令列 GUI 程式中固定(非互動式)輸入?

HDI 腳本在命令列 GUI 程式中固定(非互動式)輸入?

我想創建一個簡單的腳本,在 Debian 中啟動一個簡單的基於 gui 的程式(想想 ncurses 風格、shell 中基於文字的圖形)。我只透過 SSH 存取伺服器,所以我無法執行標準巨集或任何操作。

輸入始終相同:我只需要它來啟動程序,然後在程序的上下文中發送“enter”擊鍵、“R”擊鍵和“F7”擊鍵。

我已經研究這個問題有一段時間了,但我似乎無法弄清楚任何事情。有沒有辦法在 bash 腳本中做到這一點?

謝謝你,有一個美好的一天

答案1

這似乎與最近的一個問題非常相似。

https://stackoverflow.com/questions/11596059/how-do-i-read-any-one-key-in-bash/11596145#11596145

read -n 1 x; while read -n 1 -t .1 y; do x="$x$y"; done

但正如該線程中提到的,使用對話框或類似的腳本選單程式將是更好的選擇。

或...您想發送這些擊鍵嗎一個程式?如果是這樣,您可能想要使用expect。

答案2

這會做:

[root@w4n-dl-c60-64-yannick ~]# cat test.sh
#!/bin/bash
echo "The year is: $var_year"
read var_year

echo -n "Enter your name and press [ENTER]: "
read var_name
echo "Your name is: $var_name"

echo "You are $((2012 - $var_year)) years old!"
echo "You can go on!...."
read var_con
[root@w4n-dl-c60-64-yannick ~]# ./test.sh
The year is:
1980
Enter your name and press [ENTER]: Yannick
Your name is: Yannick
You are 32 years old!
You can go on!....

[root@w4n-dl-c60-64-yannick ~]#

相關內容