Linux/쉘스크립트

shift 명령어

쿠카이든 2023. 3. 12. 23:50
728x90
Shift 명령어

 

  • Shift 명령은 커맨드라인에 인수로 받아드린 값을 위치지정 매개변수에 다시 할당하여 커맨드라인 인수를 통해 증가 할 수 있도록 합니다.

 

  • Shift n 을 한후 * 에 있는 모든 매개 변수가 n 위치만큼 왼쪽으로 이동하고 #는 n만큼 감소합니다.

 

  • n의 초기값은 1입니다. shift 명령은 매개변수 0에 영향을 주지 않습니다.

 

  • 일단 이동을 완료했으면, 명령줄을 벗어나 자리 이동된 인수들은 분실됩니다. 나중에 그것들을 프로그램에서 참조할 필요가 있으면, shift를 실행하기 전에 그 것들을 저장해야 합니다.

 

예제
#!/bin/sh

orig_args=$*

echo "$# 개의 인수를 입력받았습니다."
echo "인수들 :  $*"
echo "shift 2를 실행합니다."
shift 2
echo "현재 $# 개의 인수가 있습니다."
echo "인수들 :  $*"
echo "shift 2를 실행합니다."
shift 2
final_args=$*
echo "기존 인수들 : $orig_args"
echo "최종적으로 남은 인수들 : $final_args"

 

결과화면
./test.sh a1 a2 b1 b2 c1 c2

6 개의 인수를 입력받았습니다
인수들 : a1 a2 b1 b2 c1 c2
shift 2를 실행합니다
현재 4 개의 인수가 있습니다
인수들 : b1 b2 c1 c2
shift 2를 실행합니다
기존 인수들  : a1 a2 b1 b2 c1 c2
최종적으로 남은 인수들 : c1 c2

 

728x90

'Linux > 쉘스크립트' 카테고리의 다른 글

(bash shell) select 문  (0) 2023.03.11
(Bash Shell) while문과 until문 예제  (0) 2023.02.28
(AWK) 명령어 문법  (0) 2023.02.09
(shell script)expr & bc  (0) 2023.02.07
쉘스크립트 예제  (2) 2023.02.06