명령 목록 실행 일시 중지

명령 목록 실행 일시 중지

다음과 같은 bash 명령 목록이 포함된 파일이 있습니다.

echo 'foobar'
echo 'helloworld'
echo 'ok'

다음과 같이 간단히 파이핑하여 이러한 명령을 실행할 수 있습니다 /bin/bash.

cat commands | /bin/bash

이제 중간에 실행을 일시 중지하고 사용자 입력을 기다리려면 어떻게 해야 합니까? 사용하는 것은 read효과가 없는 것 같습니다.

echo 'foobar'
echo 'helloworld'
read -p 'Press ENTER to continue'
echo 'ok'

답변1

다음과 같이 실행하세요:

/bin/bash commands

bash파일을 전달하는 stdin 으로 파일을 파이프합니다 bash. 이 경우 read표준 입력 읽기는 터미널이 아닌 파이프 스트림에서 이루어집니다. echo 'ok'파일을 인수로 지정하면 bash계속 실행할 수 있지만 이번에는 표준 입력이 리디렉션되지 않습니다 .

나는 당신이 이런 식으로 실행하고 싶다고 가정합니다. 비교하다bash script.sh이들달리다 그리고 그리고 의 차이점은 무엇인가요 ./script.sh?

관련 정보