변수
셸변수는 필요한 값을 계속 변경해 저장한다는 개념이다.
셸 스크립트의 구조는 변경할 필요가 없는데, 설정해야하는 값이 상황에 따라 다르다면,
변수에 필요한 값을 계속 바꿔가는 방법으로 프로그래밍 해서 다양한 상황에서 대처 할 수 있다.
변수의 기본
셸 스크립트에서는 변수를 사용하기 전에 미리 선언하지 않으며, 처음 변수에 값이 할당 되면 자동으로 변수가 생성된다
- 변수에 넣는 모든 값은 문자열로 취급한다. 즉 숫자를 넣어도 문자로 취급한다.
- 변수 이름은 대소문자를 구분한다. 즉 $aa라는 변수 이름과 $AA라는 변수 이름은 다르다.
- 변수를 대입할 때 ' = ' 좌우에는 공백이 없어야 한다.
testVal = Hello ->오류!!(' = ' 앞뒤에 공백이 있다.)
testVal=Hello -> OK
testVal=Yes Sir -> 오류!! 값의 공백은 ""로 묶어야 한다.
testVal="Yes Sir" ->OK
testVal=7+5 ->정상이지만, "75+"라는 문자열로 인식한다.
변수의 입력과 출력
' $ ' 라는 문자가 들어간 글자를 출력하려면 ' ' 로 묶거나 ' \ ' 를 붙여야 한다.
또한 " " 로 변수를 묶어도 되고, 묶지 않아도 된다.
소스설명
- 3행 : Hi Kim 하고 정상적으로 출력한다.
- 4행 : 3행과 동일하다.
- 5행 : $myVar 라는 글자를 출력한다.
- 6행 : \$는 $를 글자로 취급하게 한다. 결국 5행과 동일한 효과다.
- 8행 : 변수 myVar에 키보드로 값(문자열) 을 입력한다.
* $변수와 "$변수"는 일반적으로 동일하게 인식한다. 하지만 변수에 입력된 값에 공백이 포함될 수 있다면, "$변수" 형식으로 사용하는 것이 공백 때문에 발생 할 수 있는 논리 오류를 방지하는데 더 도움이 될 것이다.
숫자 계산
변수에 넣은 값은 모두 문자열로 취급한다고 했다.
만약 변수에 들어 있는 값에 +,-,*,/등의 연산을 하려면 expr 키워드를 사용해야한다.
단 수식과 함꼐 꼭 키보드 숫자 1왼쪽에 있는 역따옴표 ()로 묶어줘야한다.
그리고 수식에 괄호를 사용하려면 그 앞에 꼭 역슬래시 \ 를 붙여야한다.
또 +,-,/ 와 달리 곱하기 * 기호는 예외적으로 앞에 역슬래시를 붙여야한다.
소스설명
- 3행 : 문자열로 취급한다.-> 모두 붙여서 써줘야 한다.
- 5행 : 숫자로 취급해서 계산한다. -> 각 단어마다 띄어쓰기를 해야한다.
- 7행 : 괄호와 * 앞에는 역슬래시 ( \ ) 를 붙인다.
파라미터 변수
파라미터 변수는 $0 $1 $2 등의 형태를 가진다.
즉, 명령어에 포함된 모든 단어를 각자 $변수 형식으로 지정한다.
예를 들어 apt -y install gftp 명령을 실행한다고 가정하면, 파라미터 변수는 다음과 같이 지정할 수 있다.
명령 | apt | -y | install | gftp |
파라미터 변수 | $0 | $1 | $2 | $3 |
즉 $0에는 apt를, $1 에는 -y를 저장한다. 또 명령 전체으 ㅣ파라미터 변수는 $*로 표현한다.
'리눅스공부 > 셸 스크립트 프로그래밍' 카테고리의 다른 글
[프로그래밍] 반복문 unitl문 , break,continue,exit, return 등 사용 / 리눅스 셸 스크립트 프로그래밍 (0) | 2022.12.21 |
---|---|
[프로그래밍] 반복문 for~in문 , while문 / 리눅스 셸 스크립트 프로그래밍 (0) | 2022.12.21 |
[프로그래밍] IF문과 CASE문 / 셸 스크립트 프로그래밍 조건문 (0) | 2022.12.21 |
[프로그래밍] 셸 스크립트 프로그래밍 / 리눅스 셸 스크프립트 실행방법 (0) | 2022.12.20 |
[bash셸] 리눅스 셸 프로그래밍 / bash 셸의 이해 (0) | 2022.12.20 |
댓글