서브쉘을 생성하는 브래킷은 무엇입니까?

서브쉘을 생성하는 브래킷은 무엇입니까?

따라서 if아래와 같이 comamand를 사용하면 하위 쉘이 생성됩니다.

if ! (ffmpeg -h > /dev/null 2>&1)
then
    echo "FFmpeg NOT INSTALLED"
.
.
.
fi

var=$(<command>)에 대해 그리고 그에 상응하는 것은 무엇입니까 var=`<command>`? 서브쉘도 생성합니까?

답변1

두 가지 형태의 명령 대체 모두 하위 쉘을 생성합니다.

3.5.4 명령 대체

Bash는 서브셸 환경에서 명령을 실행하여 확장을 수행합니다.

답변2

오래되고 참조하기 어려운 백틱 명령 교체를 사용하지 않는 경우.

그런 다음 규칙은 단순히 ()주변에 하위 쉘을 만드는 것입니다. 그러나 대괄호는 {}그렇지 않습니다.

  • ()서브쉘
  • $()서브쉘 및 교체
  • {}껍질로 둘러싸여 있지 않음
  • ${}변수 대체

관련 정보