3. 쉘 스크립트
- 쉘을 사용해서 프로그래밍을 할 수 있음
- 서버 작업 자동화를 위해 기본적으로 익혀둘 필요가 있음
- 기본 명령어를 기반으로 하며, 이에 몇 가지 문법이 추가되는 형태로, 일반적인 프로그래밍 언어와는 달리 간단하고, 쉽게 응용 가능
3.1. 기본 문법
- 쉘 스크립트는 파일로 작성 후, 파일을 실행
- 파일의 가장 위의 첫 라인은 "#! /bin/bash" 로 시작
- 쉘 스크립트 파일은 실행 권한을 가지고 있어야 함
- 일반적으로 '파일이름.sh' 와 같은 형태로 파일 이름을 작성함
실습
bash 쉘에서 제공하는 echo 함수를 이용하여 화면에 "Hello bash" 를 출력 할 수 있도록 스크립트 작성
# cd ~
# vi test.sh
다음과 같이 작성
#! /bin/bash
echo "Hello bash"
# ls -al
drwx------ 1 root root 4096 Oct 8 15:27 .
drwxr-xr-x 1 root root 4096 Oct 8 07:35 ..
-rw-r--r-- 1 root root 32 Oct 8 15:27 test.sh
# chmod +x test.sh
# ./test.sh
Hello bash
#
주석
# 기호로 시작하는 라인은 주석처리
예)
# This is comment
변수
- 선언
- 변수명=데이터
- 변수명=데이터 사이에 띄어쓰기는 허용되지 않음
- 사용
- $변수명 으로 사용됨
예)
#!/bin/bash
mysql_id='root'
mysql_directory='/etc/mysql'
echo $mysql_id
echo $mysql_directory
리스트 변수 (배열)
- 선언
- 변수명=(데이터1 데이터2 데이터3 ...)
- 사용
- ${변수명[인덱스번호]}
#! /bin/bash
daemons=("httpd" "mysqld" "vsftpd")
echo ${daemons[1]} # $daemons 배열의 두 번째 인덱스에 해당하는 mysqld 출력
echo ${daemons[@]} # $daemons 배열의 모든 데이터 출력
echo ${daemons[*]} # $daemons 배열의 모든 데이터 출력
echo ${#daemons[@]} # $daemons 배열 크기 출력
filelist=( $(ls) ) # 해당 쉘스크립트 실행 디렉토리의 파일 리스트를 배열로 $filelist 변수에 입력
echo ${filelist[*]} # $filelist 모든 데이터 출력
사전에 정의된 지역 변수
$$ : 쉘의 프로세스 번호
$0 : 쉘스크립트 이름
$1 ~ $9 : 명령줄 인수
$* : 모든 명령줄 인수리스트
$# : 인수의 개수
연산자
- expr : 숫자 계산
- expr 를 사용하는 경우 역작은 따옴표( ` )를 사용해야 함(작은 따옴표가 아님)
- 연산자 *와 괄호() 앞에는 역슬래시()와 같이 사용
- 연산자와 숫자, 변수, 기호 사이에는 space를 넣어야 함
예)
num=`expr \( 3 \* 5 \) / 4 + 7`
echo $num
..
더많은 정보 및 출처 : https://www.fun-coding.org/linux_basic3.html#3.1.-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95
728x90
반응형
'Server > Linux' 카테고리의 다른 글
[Linux] grep 명령어의 기본적인 사용방법 (0) | 2021.05.26 |
---|---|
[Ubuntu] Ubuntu의 apt-get 명령어 정리 (0) | 2021.05.26 |
[LINUX] 2.리눅스 쉘(bash), 기본 명령어 이해 및 실습 (0) | 2021.05.26 |
[LINUX] 1. 리눅스 기본 이해 (0) | 2021.05.26 |
[Linux] 자주 사용하는 cmd 명령어(명령 프롬프트) 알아보기. (0) | 2021.05.26 |
댓글