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 ~]#

相关内容