我想创建一个简单的脚本,在 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 ~]#