%20%EC%9E%85%EB%A0%A5%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
나는 데비안에서 간단한 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 ~]#