Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- npm
- 벨로포터
- immer
- 일반유저
- 머클루트
- MariaDB
- 리액트를 다루는 기술
- centos
- 깃허브
- wsl
- 전역설치
- wget
- 시퀄라이즈
- 변수
- node.js 교과서 따라하기
- 블록체인
- 리액트
- Docker
- 라우터
- 노드
- 우분투
- 머클트리
- 쉘스크립트
- Sequelize
- 자바스크립트
- 리눅스
- 설치
- 환경변수
- 이더리움
- 솔리디티
Archives
- Today
- Total
코드코코
[리눅스] 쉘 스크립트 - 매개변수 본문
미리보는 특수매개변수 사용예시
- $# 과 $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/
https://linuxism.ustd.ip.or.kr/56
'기록 > 리눅스' 카테고리의 다른 글
[리눅스] HeidiSQL과 WSL의 MariaDB 연결하기 (0) | 2021.12.20 |
---|---|
[리눅스] 실습 - 오늘 날짜를 저장하는 파일만들기 (0) | 2021.12.20 |
[리눅스] 쉘 스크립트 - 예약변수 (0) | 2021.12.19 |
[리눅스] 쉘 스크립트 - 변수 선언과 사용 (0) | 2021.12.19 |
[리눅스] 쉘 스크립트 - 파일 생성, 실행권한 부여, 실행 (0) | 2021.12.19 |