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

ℹ️이 콘텐츠에는 광고가 포함되어,판매 발생 시 수익이 발생합니다.(네이버 쇼핑 커넥트, 아마존 어필리에이트, 애드센스 등)

셸 스크립트에서 변수란 단어가 가진 의미는 변할 수 있는( 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’ 명령어를 사용할 수 있다.

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

Similar Posts

  • 셔뱅(Shebang) [#! /bin/bash]

    shebang (셔뱅 또는 해시뱅)은 스크립트 파일의 첫 줄에 쓰이는 #!(해시 기호 + 느낌표)로 시작하는 구문입니다. 이 줄은 해당 스크립트를 어떤 인터프리터로 실행 할지를 지정합니다. 인터프리터(interpreter)는 프로그래밍 언어로 작성된 코드를 한 줄씩 읽고 즉시 실행하는 프로그램입니다. 이는 “작성된 명령을 번역해서 곧바로 실행해주는 번역기”라고 볼 수 있습니다. 보통 ASCII 텍스트 파일로 작성된 셸 스크립트에서 해시…

  • 셸 스크립트란? 셸과 셸 프롬프트&bash shell

    목차1. 변수(variable)1.1 변수할당문: 변수명과 변수값1.2 명령어 결과: 변수 값 할당2. 상수 선언 ▥ 셸 스크립트란(shell script)? 1. 셸이란? 키보드에 입력한 명령어를 운영체제에 전달해서 전달한 명령어를 실행하게 하는 프로그램이다. 2. 셸 프롬프트 셸 프롬프트는 셸이 입력 가능한 상태일 때에만 나타난다. 달러 ($)는 일반 유저일 때, 해쉬 표시(#)는 터미널 세션이 슈퍼 유저(superuser)의 권한을 가졌을 때…

  • 셸 스크립트: 셸 들여쓰기 및 확장 옵션명[long 옵션명]

    명령어를 길게 사용하다 보면 여러 명령어 줄을 넘겨서 입력하는 경우가 발생합니다. 가독성을 높이기 위해 명령어를 문장 연결 하는 백슬래시(\)를 사용하여 셸 들여쓰기를 할 수 있습니다. 목차1. 변수(variable)1.1 변수할당문: 변수명과 변수값1.2 명령어 결과: 변수 값 할당2. 상수 선언1. 셸 들여쓰기: 백슬래시(\) 백슬래시-라인피드 문자열이며 LF(Line Feed)는 커서를 한칸 아래로 이동하여 새로운 라인을 추가합니다. 2. 확장…

  • 로그 파일 삭제 쉘 스크립트 만들기(날짜 20xx, 용량)

    httpd.conf 파일에 access_log 및 error_log를 설정 했을 때 logrotate 설정이 아닌 경우 로그 파일 삭제 쉘 스크립트가 필요할 때가 있습니다. 목차1. 변수(variable)1.1 변수할당문: 변수명과 변수값1.2 명령어 결과: 변수 값 할당2. 상수 선언✅ 로그 파일 삭제 쉘 스크립트 ✅ crontab 설정하기 크론탭 설정을 진행 해 줍니다. 리눅스 스크립트는 리눅스 운영 체제에서 해석하는 스크립트 언어로 작성된…

  • [Linux] Shell 확장 6가지와 Shell 인용 3가지

    echo 명령어를 사용해서 Shell 확장(Expansion)에 대해 알아 보겠습니다. 목차1. 변수(variable)1.1 변수할당문: 변수명과 변수값1.2 명령어 결과: 변수 값 할당2. 상수 선언 1. Shell 확장 Shell 확장(Expansion)이란 셸에서 프로그램을 실행하기 직전 사용자가 입력한 인자를 정해진 의미에 맞게 해석해서 입력 or 출력으로 전환하는 것을 의미합니다. 프로그램은 echo를 포함한 명령어와 쉘에서 실행하는 모든 기능과 명령어들을 의미합니다. echo…

  • [Linux] 쉘(Shell)과 커널&쉘 스크립트 및 프롬프트

    리눅스에 대해 공부하면서 터미널 창에서 명령어를 입력해서 관리를 하지만 시스템 자체에 대한 공부가 리눅스 서버를 운영하는데 많은 도움이 되기 때문에 기초와 개념에 대해 알아야 할 필요성을 가지게 되었습니다. 리눅스 쉘(Shell)과 쉘 스크립트(Shell Script) 그리고 프롬프트(Prompt)의 기본 개념에 대해 알아 보겠습니다. 목차1. 변수(variable)1.1 변수할당문: 변수명과 변수값1.2 명령어 결과: 변수 값 할당2. 상수 선언✅ 쉘(Shell)이란?…

답글 남기기

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

Prove your humanity: 7   +   10   =