%20%E5%85%A5%E5%8A%9B%E3%82%92%E4%BF%AE%E6%AD%A3%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8B%3F.png)
Debian でシンプルな GUI ベースのプログラム (シェル内の ncurses スタイルのテキストベースのグラフィックスなど) を開始するシンプルなスクリプトを作成したいと考えています。サーバーには 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 ~]#