코드코코

[리눅스] 쉘 스크립트 - 매개변수 본문

기록/리눅스

[리눅스] 쉘 스크립트 - 매개변수

코드코코 2021. 12. 20. 01:33

미리보는 특수매개변수 사용예시

 - $# 과 $0를 사용한 shell_script.sh 작성

 - 입력받은 매개변수의 개수가 3개라면 else가 실행되고, 3개가 아니라면 if 의 then이 실행.

 

shell_script.sh 내용
띄어쓰기를 통하여 매개변수를 구분


위치 매개 변수 (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