다른 bash 쉘에 있는 bash 쉘의 스크립트

다른 bash 쉘에 있는 bash 쉘의 스크립트

간단한 프로그램을 실행하려고 합니다.

#!/bin/bash
bash
echo "Hello World"

그러나 프로그램은 라인 2에서만 "bash" 명령을 실행합니다. 프로그램이 3행에서 실행되지 않는 이유는 무엇입니까? bash 입력 시 프로그램이 종료됩니다.

bash-3.2$

프로그램이 "Hello World"를 인쇄할 수 있도록 다른 줄을 추가해야 합니까? 저는 이미 bash 쉘에 있다는 것을 알고 있지만 여전히 이 오류를 이해하지 못합니다.

답변1

터미널의 명령 프롬프트에서 이 명령을 실행한다고 가정하면,배쉬의 예:

  1. 터미널에서 실행되는 대화형 bash.
  2. 스크립트를 실행하기 위한 bash 인스턴스.
  3. 스크립트의 두 번째 줄에서 호출되는 bash 인스턴스입니다.

스크립트에서는 bash인수 없이 호출하므로 표준 입력에서 명령을 읽습니다. 입력은 터미널에서 나오므로 프롬프트 등을 인쇄하는 대화형 셸을 얻게 됩니다.

인스턴스 #3을 종료한 후 스크립트(인스턴스 #2)는 다음 줄로 계속해서 인쇄합니다 Hello World. 그런 다음 스크립트가 종료되고 원래 명령 프롬프트(인스턴스 #1)로 돌아갑니다.

관련 정보