반응형
[Shell Script] 명령어 Shift
인수로 전달 받은 값을 "N" 만큼 버리는 명령어
("N"은 명시하지 않으면 Default = 1)
$# = 인자 개수 (→ 남은 인자 개수)
$* = 전체 인자 (→ 남은 인자)
• 매개변수를 하나씩 조회할 때 while문과 함께 사용해볼 수 있다.
매개변수가 얼마나 많은지 모를 때
하나씩 조회하는 목적으로 shift를 활용해볼 수 있다.
• shift 명령어로 매개변수들이 삭제되므로
필요한 정보는 미리 백업 해두는 것이 좋다.
[예제] Shift
#!/bin/bash
echo "------------------------------------"
echo "전달받은 인자 개수 = $#"
echo "인자 목록 = $*"
echo "------------------------------------"
echo
echo "------------------------------------"
echo "shift 2 실행"
shift 2
echo "------------------------------------"
echo
echo "------------------------------------"
echo "남은 인자 = $#"
echo "인수 목록 = $*"
echo "------------------------------------"
$ ./test.sh A B C "str" "number" 5
shift 2 로 전달받은 인자 2개가 없어져서
남은 인자 6 → 4이 되고 인수 목록에서도 변화가 있다.
[예제] while문과 shift
#!/bin/bash
totalCount=1
while [ -n "$1" ]
do
echo "#$totalCount = $1"
(( totalCount = totalCount + 1 ))
shift # 1개씩 삭제
done
$ ./test.sh A B C D E
반응형
'운영체제 OS' 카테고리의 다른 글
[쉘스크립트] 리눅스 파일 비교 (4) | 2023.11.24 |
---|---|
[Linux] 쉘스크립트에서 함수 리턴 해보기 (1) | 2023.09.13 |
리눅스 우분투(ubuntu)에서 LTS란? (0) | 2021.06.05 |
fsck (File System Check) (0) | 2021.02.27 |
저널링 파일 시스템 종류 (0) | 2021.02.27 |
댓글