2012-06-12 3 views
1

명령 대체, 변수 대체 및 globbing이 발생하는 순서를 설명해야합니다. 그것을하는 방법에 대한 아이디어?bash에서 대체 순서

+0

불행히도 나는 그것에 대해 아무런 단서가 없습니다. 나는 그들이 개별적으로 의미하는 것을 안다. 예를 들어 변수 치환, 명령 대체 등을 보여주는 방법을 알고 있지만 실행 순서를 보여주는 방법에 대한 단서가 없습니다. 죄송합니다.이 주제에 완전히 익숙하지 않습니다. ( – SharkTiles

+0

"평가 순서"를 검색해보십시오. 행운을 빌어 요. – shellter

+1

http://www.gnu.org/software/bash/manual/bashref.html#Shell- 확장자 – nhahtdh

답변

1
  • 명령 대체 <는

    ls $(echo '*') 
    

    그렇지 않으면, *는 확장되지 않았을 대체 (globbing).

  • 변수 확장 (교체하지) < 위와 같이

    x='*' ; ls $x 
    

    동일한 이유를 로빙.

  • 변수 확장과 명령 대체는 왼쪽에서 오른쪽으로 동시에 나타납니다. 좋은 예를 생각하면 의견을 남겨주세요. 아이디어가 없습니다.
+0

We (a) 변수 치환 후에 변수 확장이 일어나지 않고 변수 확장 후에 명령 대체가 발생하지 않는다는 것을 알 수 있다면 같은 작업 단계에서 변수 확장과 명령 대체가 완료된다고 결론 지을 수있다. (a)'echo \'echo $ \ 'x # $ x <=> 가변 확장 없음'(b)'c = '\'ls \''; echo $ c # \'ls \'<=> 명령 대체 – Armali