프로그래밍에서 가장 중요한 것은 변수가 아닐까 생각합니다. 가장 기본적으로 사용할 뿐만 아니라 변수라는 것을 이용해야 프로그램을 만들 수 있기 때문이라고 보는데요. 변수에 대한 설명과 함께 배쉬 쉘 스크립트에서는 변수를 어떻게 사용하는지 알아보도록 하겠습니다.
변수 ( variable )
변수는 영어로 variable입니다. 변수는 컴퓨터 프로그래밍에 있어서 상징적인 의미를 가지고 있습니다. 데이터에 대한 상징성을 띄고 있으며 만약 사용할 변수가 점수라면 score라는 변수명을 사용할 수 있습니다. 수학에서 사용하는 변수와는 그 의미가 다를 수 있으며 컴퓨터 프로그래밍에서만의 의미를 가지고 있다고 생각하셔도 됩니다.
쉘 스크립트의 시작
쉘 스크립트의 시작은 #!/bin/bash 라고 했습니다. 이것은 C언어로 말하면 #include와 같은 의미를 가진다고 보시면 됩니다. 헤더파일과 같은 명령어를 추가해주는 것과 마찬가지입니다.
2018/07/21 - [IT/프로그래밍] - 리눅스(Linux) 배쉬,bash 쉘 스크립트 프로그래밍 기초
배쉬 쉘 스크립트 - 변수
배쉬 스크립트에서 변수를 사용하기 위해서는 "=" 등호를 사용해서 사용합니다. =, 기호 앞뒤로 공백이 없이 입력하는 것이 가장 중요합니다. 그리고 선언된 변수는 전역변수 (Gloval variable)이 됩니다. 프로그램 어디에서도 사용할 수 있는 변수가 된다는 의미입니다.
또한 함수 안에서 사용한다면 변수명 앞에 local 을 붙여 지역변수로 활용할 수 있습니다. 다음에 함수에 대한 설명을 할 때 부연설명을 하도록 하겠습니다. 또한 변수명 앞에 export 를 붙여주면 환경변수가 되어 자식 스크립트에서 사용가능한 변수가 됩니다.
test.sh (테스트)
#!/bin/bash
a=25
b=3
echo $a
echo $b
이러식으로 선언해서 사용하면 됩니다. = 앞뒤로 공백이 없다는 사실이 가장 중요하니 알아두시기 바랍니다. 바로 선언해서 사용할 수 있으며 변수명은 알아서 정하면 됩니다. 변수를 가져다 쓰기 위해서는 앞에 $를 붙여서 사용하면 됩니다.
예약변수( Reserved Variable )
배쉬 쉘 스크립트에서도 예약변수가 존재합니다. 이 예약변수의 이름은 변수명으로 사용할 수 없으며 이미 예약되어 있기 때문에 원래 기능을 가지고 있습니다.
HOME - 사용자 홈 디렉토리
PATH - 실행 파일의 경로
LANG - 프로그램 사용 시 기본 지원되는 언어
PWD - 사용자의 현재 작업중인 디렉토리
FUNCNAME - 현재 함수 이름
SECONDS - 스크립트가 실행된 초 단위 시간
SHLVL - 쉘 레벨
SHELL - 로그인해서 사용하는 쉘
PPID - 부모 프로세스의 PID
BASH - BASH 실행 파일 경로
BASH_ENV - 스크립트 실행시 BASH 시작 파일을 읽을 위치 변수
BASH_VERSION - BASH의 버전
BASH_VERSINFO - 배열로 BASH 버전의 상세정보 알려줌
MAIL - 메일 보관 경로
MAILCHECK - 메일 확인 시간
OSTYPE - 운영체제 종류
TERM - 로긴 터미널 타입
HOSTNAME - 호스트 이름
HOSTTYPE - 시스템 하드웨어 종류
MACHTYPE - 머신 종류
LOGNAME - 로그인 이름
UID - 사용자 UID
EUID - su 명령에서 사용하는 사용자의 유효 아아디 값
USER - 사용자의 이름
USERNAME - 사용자 이름
GROUPS - 사용자 그룹
HISTFILE - history 파일 경로
HISTFILESIZE - history 파일 크기
HISTSIZE - history 저장 되는 개수
HISTCONTROL - 중복되는 명령에 대한 기록
DISPLAY - 디스플레이 이름
IFS - 입력 필드 구분자
VISUAL - VISUAL 편집기 이름
EDITOR - 기본 편집기 이름
COLUMNS - 현재 터미널이나 윈도우 터미널의 컬럼 수
LINES - 터미널의 라인 수
LS_COLORS - ls 명령 관련 옵션
PS1 - 기본 프롬프트 변수
PS2 - 보조 프롬프트 변수
PS3 - 쉘 스크립트에서 select 사용시 프롬프트 변수
PS4 - 쉘 스크립트 디버깅 모드의 프롬프트 변수
TMOUT - 0이면 제한이 없으며 time 시간 지정시 지정한 시간 이후 로그아웃
'IT > 프로그래밍' 카테고리의 다른 글
스크립트 언어에 대한 설명, 스크립트 언어의 종류 (0) | 2018.07.23 |
---|---|
리눅스(Linux) 배쉬,bash 쉘 스크립트 프로그래밍 기초 (0) | 2018.07.21 |
C언어 Printf함수와 출력타입 (0) | 2017.10.03 |
파이썬(Python)의 역사와 특징에 대하여 (2) | 2017.07.23 |
C언어 기초 - 컴파일러 및 자료형 (0) | 2017.07.22 |
댓글