
쉘 스크립트를 통해 프로그램 설치를 자동화하려고 합니다. 명령줄에서 사용자 상호 작용(확인, 예/아니요 등)이 필요한 몇 가지 단계가 있습니다. 그것을 우회하는 가장 좋은 방법은 무엇입니까? 한 가지 가능성은 예상 스크립트를 사용하는 것임을 알고 있습니다. 이 작업을 수행하는 더 좋고 깨끗한 방법이 있는지 알고 싶었습니다.
답변1
상호 작용이 간단한 경우, 즉 표준 입력에서만 읽는 경우 특정 행을 프로그램 입력으로 보낼 수 있습니다.
( echo yes ; echo 1024; echo yes ) | install.sh
답변2
stdin에서 읽는 것 외에 다른 작업(예: ftp 로그인)을 수행하려면 다음을 사용하세요.예상하다.
답변3
다른 스레드에서:
명령이 얼마나 빨리 입력하는지 신경 쓰지 않고 명령과 실제로 상호 작용할 필요가 없다면 heredoc을 사용할 수 있습니다.
예:
#!/bin/bash
command_you_want_to_execute <<EOD
interaction_1
intereaction_2
EOD
프로그램의 출력을 기반으로 분기가 필요하거나 프로그램이 명령 타이밍에 민감한 경우 Expect가 원하는 것입니다.