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 |