Linux/Linux 과제

[임베디드 과제] Bash Shell 프로그래밍 간단 예제

2sjin 2022. 10. 4. 22:02

1. Bash Shell 스크립트

#!/bin/bash




# 함수: 매개변수 3개 출력
friends_function () {
	echo "my friends = $1 $2 $3"
}

# 함수: 두 수 더하기
add_function () {
	result=$(( $1+$2 ))
	echo "Addition : $1 + $2 = $result"
}

# 함수 : 명령어 실행
command_function () {
	case $1 in
		H | h )	echo "HOME directory: $HOME"	;;
		P | p )	echo "PATH information: $PATH"	;;
		L | l )	ls	;;
		D | d )	pwd	;;
		* )
			echo "존재하지 않는 명령어입니다."
			;;
	esac
}

# 함수: 두 수 사이의 합 구하기
sum_function () {
	result=0

	echo "Enter num_start : "
	read num_start	# 표준 입력
	echo "Enter num_end : "
	read num_end	# 표준 입력

	# 입력했던 num_start부터 num_end까지 반복
	for i in `seq $num_start $num_end`
	do
		result=$(( $result+$i ))
	done

	echo "sum result($num_start : $num_end) = $result"
}




# 매개 변수의 개수가 3개일 때
if [ "$#" -eq 3 ]
then
	friends_function $1 $2 $3	# 함수 호출

# 매개 변수의 개수가 2개일 때
elif [ "$#" -eq 2 ]
then
	add_function $1 $2		# 함수 호출

# 매개 변수의 개수가 1개일 때
elif [ "$#" -eq 1 ]
then
	command_function $1		# 함수 호출

# 매개 변수의 개수가 0개일 때
elif [ "$#" -eq 0 ]
then
	sum_function			# 함수 호출

# 매개 변수의 개수가 4개 이상일 때
else
	echo "매개 변수가 많습니다."

fi

 

 

2. 실행 결과

ㄱ. 매개변수 3개 입력

입력한 매개변수 3개 출력

 

ㄴ. 매개변수 2개 입력

입력한 매개변수 2개를 더한 값 출력

 

ㄷ. 매개변수 1개 입력

입력한 매개변수와 매칭되는 환경 변수 출력 또는 Shell 명령어 실행

 

ㄹ. 매개변수 없음

첫 번째 입력(표준 입력)한 수부터 두 번째 입력한 수까지 1씩 증가시키면서 더함  

 

ㅁ. 매개변수 4개 이상 입력

"매개 변수가 많습니다." 메시지 출력