셸 프로그래밍

셸에서 일반적으로 사용하는 명령어들을 모아서 하나의 파일로 만들어 실행시킨 프로그램

셸 스크립트

셸이 수행하고 있는 명령어들을 저장하고 있는 파일

간단한 예제1)

1
2
3
4
5
#!/bin/zsh

cat > helloWorld.sh # helloWorld 셸 파일을 생성한다.

echo "HelloWorld!"

간단한 예제2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/zsh

echo -e "\t - 시스템 환경설정 출력 - \t"

echo -n "HOSTNAME:\t" # new line 을 추가하지 않는다.
echo $HOSTNAME

echo -n "USER:\t"
echo $USER

echo -n -e "SHELL:\t"
echo $SHELL

echo -n -e "pwd:\t"
pwd

echo -n -e "ls:\t"
ls -Alh

간단한 예제3)

1
2
3
4
5
6
7
8
9
#!/bin/zsh

cat > question.sh

echo -n -e "\t우리나라의 영문 국가명은?\t"

# 표준입력을 받아 변수에 저장하는 역할.
read -n5 -t10 nation # -n 입력 문자수 지정 -t 시간 지정
echo -n -e "영문국가명:\t" $nation

간단한 예제4)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/zsh

# 조건문

cat > smoker.sh

echo -e -n "\t흡연자의 수를 입력하시오.\t"
read smoker

echo -e -n "\t비흡연자의 수를 입력하시오.\t"
read no_smoker

if [$smoker -lt $no_smoker] # 흡연자보다 비흡연자가 크면
then
echo "비흡연자가 " $[no_smoker-smoker]"명 많습니다.";
elif [$smoker -eq $no_smoker] # 같다면
then
echo "흡연자와 비흡연자가 같습니다."
else
echo "흡연자가 " $[smoker-no_smoker]"명 많습니다."
fi

간단한 예제4)

1
2
3
4
5
6
7
#!/bin/zsh

case $x in
pattern)

;;
esac

간단한 예제5)

1
2
3
for (( i = 0; i < n; i++ )); do

done

간단한 예제6)

1
2
3
while [ $INPUT != "bye" ]; do

done

간단한 예제7)

1
2
3
until [ $INPUT == 5 ]; do

done