2sjin
2sjin
2sjin

블로그 메뉴

  • My GitHub
  • 전체 게시글
    • UNIX 이론 정리
    • Linux
      • Linux 관련 노하우
      • Linux 과제
      • OracleCloud & Ubuntu
      • Tomcat Server
      • MySQL Server
      • 구름 OS
      • 라즈베리파이4
    • 데이터베이스
      • DB 관련 노하우
      • DB 과제
      • DB 프로젝트
    • Unity
    • Computer Science
      • 통신 & 네트워크
      • 자료구조 & 알고리즘
      • 운영체제
      • 정보보호
      • 기타 분야
    • 소프트웨어
      • 소프트웨어공학
      • 프로그래밍 언어

공지사항

인기 글

태그

  • 개인 Term Project
  • 팀 프로젝트

최근 글

티스토리

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
2sjin

2sjin

Linux/Linux 과제

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

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개 이상 입력

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

저작자표시 (새창열림)

'Linux > Linux 과제' 카테고리의 다른 글

[임베디드 과제] make와 gcc로 C 프로그램 컴파일  (0) 2022.10.11
[임베디드 과제] 클랭(Clang) 컴파일러  (0) 2022.10.11
[임베디드 과제] GDB(GNU Bebugger) 기본 명령어  (0) 2022.10.10
[임베디드 과제] GCC, G++ 컴파일러 이해  (0) 2022.10.10
'Linux/Linux 과제' 카테고리의 다른 글
  • [임베디드 과제] make와 gcc로 C 프로그램 컴파일
  • [임베디드 과제] 클랭(Clang) 컴파일러
  • [임베디드 과제] GDB(GNU Bebugger) 기본 명령어
  • [임베디드 과제] GCC, G++ 컴파일러 이해
2sjin
2sjin

티스토리툴바