셸 스크립트: 변수(variable)와 상수(constant)

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

셸 스크립트에서 변수란 단어가 가진 의미는 변할 수 있는( variable) 값이다. 또 상당수의 애플리케이션에서 변수가 이와 같은 의미로 사용되고 있다.

상수(constant)는 이름이 정의되고 값이 지정된다는 점은 변수와 같다. 하지만 그 값은 변하지 않는다는 점이 다르다.

쉘은 변수와 상수를 따로 구분하지 않는데 용어를 구분하는 이유는 쉘 이용자의 편의를 위해서이다.
변수 상수

1. 변수(variable)

앞서 말했듯이 변수가 가진 의미는 변할 수 있는 값이다.

1.1 변수할당문: 변수명과 변수값

변수할당문
variable=value

variable는 변수 이름(변수명), value는 문자열이 들어간다.

변수할당문에서 변수명, 등호(=), 변수값에는 빈칸이 없어야 하며, 변수명은 영문자, 언더바(_), 숫자만 들어가며 영문자 대소문자를 구분한다.

#!bin/bash

 g=good
 gm="good morning" # 빈칸은 따옴표, 쌍따옴표 안에서만 사용 가능하다. 
 echo $g, $gm
----- ----- ----- ----- ----- ----- or ----- ----- ----- ----- ----- -----
#!bin/bash

 g=good  gm="good morning" # 한 줄에 여러 변수도 설정할 수 있다. 
 echo $g, $gm

먼저 셔뱅 설정을 하고 good 문자열을 변수 g에 할당한다. good morning 문자열은 변수 gm으로 할당되었다. 그리고 쌍따옴표를 사용해서 빈칸도 같이 인식할 수 있게 설정했다.

저장했던 변수할당문(oo.sh)의 퍼미션을 700으로 맞춰 준 후에 실행시키면 아래와 같이 나옴을 알 수 있다. 쌍 따옴표가 빈칸도 인식하게 해 준 것을 알 수 있다.

]# ./oo.sh
good, good morning

1.2 명령어 결과: 변수 값 할당

명령어 결과를 변수 값으로 할당한 경우이다.

 c=$(ls -l oo.txt)

2. 상수 선언

상수(constant)는 이름이 정의되고 값이 지정된다는 점은 변수와 같지만 값이 변하지 않는다는 점이 다르다고 언급했다.

보통 상수를 정의할 때는 대문자로, 그리고 변수를 정의할 때는 소문자를 사용한다.

readonly FILENAME="hello.txt"
declare -r  filename="hello.txt"

readonly 명령어를 사용하여 상수를 사용할 수 있게 설정하고 대문자로 표시한 FILENAME이 상수이다. readonly 명령어 외에도 ‘declare -r’ 명령어를 사용할 수 있다.

피코그래피 카테고리-비즈니스-노트북 타이핑 하는 여자

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 9   +   9   =