[리눅스] 쉘 스크립트 - 매개변수
미리보는 특수매개변수 사용예시
- $# 과 $0를 사용한 shell_script.sh 작성
- 입력받은 매개변수의 개수가 3개라면 else가 실행되고, 3개가 아니라면 if 의 then이 실행.


위치 매개 변수 (Positional Parameters)
- 아규먼트 변수 (Argument Parameters) 와 같은 의미.
- 쉘 프로그램 내의 변수 ,내부적으로 편의성을 위해 정의되어 있는 특수변수
- 매개변수 : 스크립트 이름 다음에 공백 문자로 구분된 각 단어
- 명령어(쉘스크립트, 쉘함수) 실행 시 커맨드라인 전달값(옵션과 인자)을 저장
- $*와 $0는 보통 쌍따옴표로 묶어주지 않으면 동일한 기능을 수행
| 문자 | 설명 |
| $0 |
실행된 쉘 스크립트의 이름 |
| $* | 위치 매개변수 (매개변수 인자의 모든 리스트) |
| $@ | 위치 매개변수 ($*과 똑같지만 각 매개변수는 quiting 된 문자열로 취급) |
| $숫자 | 쉘 스크립트에 넘겨진 숫자에 따른 인자의 값 ($1, $2, $3 ... ${10} -> 10부터는 괄호로 묶음) |
| $# | 쉘 스크립트에 넘겨진 인자의 총 갯수 |
매개변수 확인해보기
$ ./스크립트명.sh 매개변수1 매개변수2 매개변수3
| ./스크립트명.sh | 매개변수1 | 매개변수2 | 매개변수3 |
| $0 | $1 | $2 | $3 |
| $# : 아규먼트 총 3개 |
|||


- 주의
: for문을 사용하여
"$*" 를 출력한다면, 값은 "hi there coco"
"$@" 를 출력한다면, 값은 "hi", "there", "coco"
특수 매개 변수(Special Parameters)
- argument이외의 정보를 알수 있는 변수
- 참조만 가능하며, 값을 지정할 수 없다는 것이 특징.
| 문자 | 설명 |
| $$ | 현재 쉘 스크립트의 PID |
| $? | 프로그램의 종료값을 저장 (참과 거짓 반환코드 값) |
| $! | 마지막 작업의 PID (종료되지 않은 방금 전에 실행된 프로세스의 PID) |
| $- | 현재 옵션의 플래그 |
| $_ | 지난 명령의 마지막 인자로 설정된 특수 변수 |
참조 :
https://nasa1515.tech/linux-shellscript/
[LINUX] - Shell Script - 특수,위치,아규먼트 매개 변수
머리말 이전 포스트에서는 정규표현식에 대한 내용을 포스팅 했었습니다. 이번 포스트에서부터는 이제 실제 스크립트를 작성하는데 많은 도움이 되는 매개변수등에 대해서 설명 할 예정입니다
nasa1515.tech
https://linuxism.ustd.ip.or.kr/56
bash 쉘 스크립트 - 위치 매개변수
참조 - http://blog.blueweb.co.kr/180 1. bash 스크립트 1) shbang #!/bin/bash - 기호 #!은 매직 넘버라 불리며, 커널이 실행 프로그램으로 인식해야 하는지 여부를 알려주기 위해서 사용한..
linuxism.ustd.ip.or.kr