명령 목록 실행 일시 중지

명령 목록 실행 일시 중지

다음과 같은 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파일이 bash. 이러한 경우 readstdin에서 읽으면 터미널 대신 파이프된 스트림에서 읽습니다. 소비합니다 echo 'ok'. 파일을 계속 실행하기 위한 인수로 지정하면 bash이번에는 stdin이 리디렉션되지 않습니다.

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

관련 정보