나는 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
하지만 이 스레드에서 언급했듯이 대화 상자나 유사한 스크립트 메뉴 프로그램을 사용하는 것이 더 나은 옵션이 될 것입니다.
아니면...이 키 입력을 보내시겠습니까?도착하다프로그램? 그렇다면 예상을 사용하는 것이 좋습니다.
답변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 ~]#