본문 바로가기
Linux/실습

CentOS 8 쉘 스크립트 프로그래밍

by JihoK 2024. 4. 22.

CenOS에서 기본적으로 사용하는 셸은 Bash Shell

 

echo $환경변수이름  형식의 명령으로 여러 가지 환경 변수값을 찾을 수 있습니다.

 

쉘 스크립트 프로그래밍 실습

 

vi name.sh 이나 gedit name.sh 명령을 실행 해서 간단한 쉘 스크립트를 작성해봅니다.

 

sh name.sh 명령으로 실행해봅니다.

 

 

chmod +rwx 파일명 명령으로 권한을 추가 할 수 있습니다.

 

 

실행 권한을 추가하면 ./name.sh 명령으로 실행이 가능합니다.

 

변수는 대소문자를 구분하고 

'=' 좌우에는 공백이 없어야합니다.

모든 변수는 string으로 취급됩니다.

변수를 사용 전 미리 선언하지 않으며, 처음 값이 할당되면서 자동으로 변수가 생성됩니다.

 

 

 

 

변수의 입력과 출력

 

 

 

숫자 계산

 

 

 

 

파라미터 변수

 

 

 

if 문과 case문

 

공백 주의

 

 

조건문에 들어가는 비교 연산자.

파일과 관련된 조건

 

 

case~esac 문

 

if문의 경우 참과 거짓 두가지 경우만 이용가능합니다. 이를 2중 분기라고 하는데

case문의 경우 다중 분기를 사용합니다.

 

 

 

[nN]*) 은 앞에 n또는 N이 들어가는 모든 단어를 인정해준다는 말입니다.

 

AND, OR 관계 연산자

 

 

 

 

 

반복분

 

 

for ~ in 문

 

 

 

 

 

ls *.sh명령의 실행 결과를 하나씩 넣어서 4~5행 반복한다.

 

while 문

 

while문은 조건식이 참인 동안 계속 반복하는 특성을 갖습니다.

 

 

무한 반복 실행되는 것을 볼 수 있습니다.

ctrl + c 키로 빠져나옵니다.

 

 

 

 

until 문 

while문과 용도가 거의 같지만, until문은 조건식이 참일 때까지(= 거짓인 동안) 계속 반복합니다.

 

break, continue, exit, return

 

break은 주로 반복문을 종료할떄 사용되며

continue는 반복문의 조건식으로 돌아가게 합니다.

exit은 해당 프로그램은 완전히 종료합니다.

return은 함수 안에서 사용될 수 있으며 함수를 호출한 곳으로 돌아가게 합니다.

 

 

 

사용자 정의 함수 

 

사용자가 직접 함수를 작성하고 호출할 수 있습니다.

 

함수이름 ( ) {

 내용들

}

함수이름

 

 

 

 

함수의 파라미터, 즉 인자를 사용하려면 함수를 호출할 때 뒤에 파라미터를 붙여서 호출하며

함수 안에서는 $1, $2 --- 로 사용합니다.

 

함수이름 ( ) {

    $1, $2

}

함수이름 파라미터1 파라미터2

 

 

 

eval

 

문자열을 명령문으로 인식하고 실행합니다.

 

 

export 

외부 변수로 선언합니다.

선언한 변수를 다른 프로그램에서도 사용할 수 있게 합니다.

 

exp1.sh

 

exp2.sh

exp1.sh  의 echo 명령을 빌려와서 var2를 출력한 모습입니다.

 

 

printf 

C언어의 Printf() 함수와 비슷하게 형식을 지정해서 출력할 수 있습니다.

 

 

set 과 $(명령)

리눅스 명령을 결과로 사용하려면 "$(명령)" 형식을 사용해야 합니다. 또, 결과를 파라미터로 사용하고자 할 때는 set 명령과 함께 사용합니다.

 

 

Shift

 

파라미터 변수를 왼쪽으로 한 단계씩 아래로 시프트(이동)시킵니다.