Bash 스크립트를 사용하여 한 스크립트에서 다른 스크립트로 입력을 보내는 방법

Bash 스크립트를 사용하여 한 스크립트에서 다른 스크립트로 입력을 보내는 방법

쉘 스크립트를 통해 한 스크립트에서 다른 스크립트로 입력을 보내고 싶습니다

이 스크립트를 중지하면 "계속하시겠습니까?"라는 메시지가 표시됩니다.

$MAIN_SCRIPT_PATH/first.sh stop

이 스크립트를 중지하기 위해 다른 스크립트를 사용하고 있습니다. 이 스크립트에 yes를 보내야 합니다 first.sh. 어떻게 해야 할까요?

first.sh가 중지되면 사용자 입력을 요청합니다. 계속하시겠습니까? 보내야지 응....

답변1

스크립트의 표준 입력에 작성하여 작동하는지 확인할 수 있습니다. 예를 들어,

echo yes | $MAIN_SCRIPT_PATH/first.sh stop

그렇지 않은 경우 일부 프로그램에서는 expect사용자 입력을 시뮬레이션하기 전에 특정 프롬프트를 기다릴 수 있습니다.

또한 다른 옵션을 제공하지 않고 중지 확인을 요청하는 경우 이는 잘못 작성된 스크립트입니다. first.sh --help사용자 입력 건너뛰기에 대한 추가 정보가 표시되는지 확인하세요 . 스크립트에는 일반적 으로 사용자 입력을 침묵시키는 -y// -q옵션이 있습니다.-s

답변2

Linux에서는 coreutils 패키지가 이 yes명령도 제공합니다. 따라서 다음을 실행합니다.

yes | $MAIN_SCRIPT_PATH/first.sh stop

관련 정보