문제는, bash스크립트를 사용시에, '1 2 3'과  같은 리스트가 있을 때 가장 앞(또는 가장 뒤)에 있는
아이템을 추출하기 위해서는 어떻게 할 수 있을까하는 것이다.

bash변수치환에서 '#'을 이용해서 문자열의 필요한 부분을 추출할 있는 기능이 있다.


A라는 변수가 있을 때,
   a) ${A#패턴}은 앞쪽의 '패턴'에 매칭되는 부분을 제외(!)한 나머지 서브스트링을 의미한다.
   b) ${A##패턴}은 앞쪽의 '패턴'에 (최대한) 매칭되는 부분을 제외(!)한 나머지 서브스트링을 의미한다.
   c) ${A%패턴}은 뒤쪽의 '패턴'에 매칭되는 부분을 제외(!)한 나머지 서브스트링을 의미한다.
   d) ${A%%패턴}은 뒤쪽의 '패턴'에 (최대한) 매칭되는 부분을 제외(!)한 나머지 서브스트링을 의미한다.


예를 들어,
  ${the_list#* }라는 것은 the_list라는 변수에서 앞쪽에서 가장먼저 나오는 빈칸' '까지의 문자열을 제외한
     나머지 부분이 되며, the_list가 '1 2 3'일 경우 그 값은 '2 3'이 된다.
  ${the_list%% *}은 the_list라는 변수의 뒤쪽에서 시작해서 꺼구로 거슬러 올가가면서 나오는 마지막 빈칸까지의 서브스트링을
     제외한 나머지가 되며, the_list가 '1 2 3'일 경우 그 값은 '1'이 된다.


bash스크립트를 이용해서 큐를 구현해보면, 다음과 같이 구현할 수 있다.

bash_queue_1.png


다음과 같이 큐를 시혐해 볼 수 있다.

bash_queue_2.png


결과화면은 다음과 같다.

bash_queue_3.png