programing

bash 스크립트에서 ENTER 키 프레스를 시뮬레이션하는 중

padding 2023. 4. 18. 21:48
반응형

bash 스크립트에서 ENTER 키 프레스를 시뮬레이션하는 중

몇 가지 명령을 실행하는 매우 간단한 bash 스크립트를 만들었습니다.이러한 명령어 중 하나는 런타임 중에 사용자 입력이 필요합니다.즉, 사용자에게 "Do you want to blah blah blah?" 라고 묻습니다.스크립트가 완전히 자동화되도록 단순히 Enter 키를 누르고 싶습니다.

런타임 중에 입력이나 다른 것을 기다릴 필요가 없습니다.키를 누르기만 하면 나머지는 입력 버퍼로 처리됩니다.

echo -ne '\n' | <yourfinecommandhere>

또는 에코가 생성하는 암묵적인 새로운 라인을 활용한다(Marcin 고마워)

echo | <yourfinecommandhere>

그냥 '네'로 하면 돼요.

# yes "" | someCommand

를 찾을 수 있습니다.yes명령어를 사용할 수 있습니다.

man yes

다음은 를 사용한 샘플 사용법입니다.expect:

#!/usr/bin/expect
set timeout 360
spawn my_command # Replace with your command.
expect "Do you want to continue?" { send "\r" }

자세한 내용은 다음을 참조하십시오.

기대치활용할 수 있습니다(남자의 기대치에는 예가 있습니다).

이게 오래됐다는 건 알지만 누군가 도움이 됐으면 좋겠어요.

처리해야 할 사용자 입력이 여러 개 있는 경우 프로세스 치환을 사용하여 다음과 같이 첫 번째 입력을 처리하는 데 필요한 모든 것을 포함하는 cat의 '파일'로 에코를 사용할 수 있습니다.

# cat ignores stdin if it has a file to look at
cat <(echo "selection here") | command

그런 다음 yes 명령어에 답변을 연결하여 후속 입력을 처리할 수 있습니다.

 cat <(echo "selection here") | yes 'y' | command

언급URL : https://stackoverflow.com/questions/6264596/simulating-enter-keypress-in-bash-script

반응형