[shell script] $# : 매개변수 개수

HYEOB KIM·2022년 4월 21일
0

Shell

목록 보기
35/71

$#은 매개변수의 개수를 의미합니다.

$#은 매개변수의 개수를 나타냅니다.

$ cat test1
#!/bin/bash
echo "parameter count : $#"

$ ./test1 1 2 3
parameter count : 3

$ ./test1 A B C D E
parameter count : 5

마지막 매개변수의 값을 출력하기

쉘 스크립트에서 변수를 선언할 때 $변수 방법과 ${변수}가 있습니다.

이중 ${변수} 방법과$#를 응용해서 매개변수의 마지막 값을 출력할 수 있는 방법이 있는데요.

${!#}를 이용하면 매개변수의 마지막 값이 참조됩니다.

여기서 주의할 점은 ${$#}가 아닌 ${!#}라는 점입니다.

$ cat test1
#!/bin/bash
echo "parameter count : ${!#}"

$ ./test1 A B C D E
parameter count : E

만약 매개변수 없이 실행하면 어떻게 될까요?

$ ./test1
parameter count : ./test1

파일 이름을 출력하는 것을 볼 수 있습니다.
!#0을 출력하고, 따라서 $0가 되기 때문입니다.
$0파일 이름을 의미합니다.

profile
Devops Engineer

0개의 댓글