명령을 구문 분석할 때 Bash의 "작업 순서"는 무엇입니까?

명령을 구문 분석할 때 Bash의 "작업 순서"는 무엇입니까?

일반 bash 프롬프트에 명령이 입력되면 Enter 키를 누른 후 bash가 해당 행을 어떻게 읽습니까? 변수 대체를 먼저 수행한 다음 명령 대체를 수행합니까? 아니면 bash 확장을 먼저 수행합니까? 또는 무엇을?

다음 명령이 주어지면 bash는 처음부터 끝까지 무엇을 합니까?

for i in *.meow; do 
   cat <<WUTLOL
   FILE ${PWD}/$i
   WUTLOL
   scp $i $(grab_server.sh kitten_blast{1..3}): 
done

답변1

이것바쉬위키이것을 아주 잘 설명합니다. 정의:

  1. 데이터 실행 읽기
  2. 공정견적
  3. 읽은 데이터를 명령으로 분할
  4. 특수 연산자 구문 분석
  5. 확장 실행
  6. 명령을 명령 이름과 매개변수로 분할
  7. 주문 실행

관련 정보