- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- System
- docker
- Shell script
- Tkinter
- synology
- GPIO
- 쉘 스크립트
- 리눅스
- GUI
- JSP
- 클라우드
- Android
- 자바
- 쉘 스크립트 기초
- Linux
- LEVIATHAN
- RaspberryPi
- 쉘 스크립트 if문
- 프로젝트
- API
- nginx
- centos docker
- Java
- ACL
- 네트워크
- 그라파나
- 라즈베리파이
- 안드로이드
- Python
- 메소드
- Today
- Total
IT창고
쉘 스크립트 if문 2 본문
이전 글에서 쉘 스크립트의 기초적인 부분과 if문의 조건식에 대해 알아보았습니다.
이번에는 이중if문과 case문에 대해 알아보도록 하겠습니다.
이중if문을 사용한 간단한 스크립트를 만들어보도록 하겠습니다.
위의 사진과 같은 결과는 아래의 소스코드에서 확인 가능한 쉘 스크립트로 만들어졌습니다.
#!/bin/bash
Gsk=/etc/passwd
if [ -f $Gsk ]; then
echo "현재 계정 정보=" `id`
if [ -O $Gsk ]; then
echo "해당 파일은 현재 계정의 소유파일 입니다"
else
echo "해당 파일은 현재 계정의 소유파일이 아닙니다."
fi
else
echo "현재 디렉토리는 존재하지 않습니다"
fi
exit 0
쉘 스크립트 기초와 if문 조건식에서 알아보았던 내용을 조합해서 만들었으며 사용자 변수에 파일의 경로를 넣어두었으며 첫 if문에서 현재 계정의 ID값과 해당 파일이 있는지 확인 후 참일 경우 두번째 if문에서 해당 파일이 현재 계정의 소유파일 인지 확인하는 쉘 스크립트 입니다.
소스코드가 얼마안될때는 괜찮지만 if문이 중접될수록 복잡해질 수 있습니다. 그럴 경우 elif문을 이용할 수 있으며 아래에 elif문을 사용한 쉘 스크립트를 확인해보도록 하겠습니다.
위의 사진과 같은 결과는 아래의 소스코드에서 확인 가능한 쉘 스크립트로 만들어졌습니다.
#!bin/bash
Gsk=/etc/passwd
if [ -O $Gsk ]; then
echo "현재 계정 정보=" `id`
echo "해당 파일은 현재 계정의 소유파일 입니다"
elif [ -G $Gsk ]; then
echo "현재 계정 정보=" `id`
echo "해당 파일은 현재 계정의 소유권은 없으며 그룹권한을 가진 파일 입니다"
else
echo "현재 계정 정보=" `id`
echo "해당 파일은 현재 계정의 소유 및 그룹파일이 아닙니다."
fi
exit 0
처음 만들었던 쉘 스크립트를 elif문을 사용하여 변형 시켜보았습니다.
elif문을 쓰면 else문은 elif문으로 대처되며 elif문을 연속해서 사용하여 복합적으로 사용이 가능합니다.
마지막으로 case에 대해 알아보도록 하겠습니다.
elif문은 연속해서 복합적으로 사용이 가능한데 만약 한가지의 변수만을 계속해서 확인할 경우 case문으로 대처가 가능합니다.
위의 사진과 같은 결과는 아래의 소스코드에서 확인 가능한 쉘 스크립트로 만들어졌습니다.
#!/bin/bash
echo "1. /etc/paswd 2. /etc/ 3. /var/log"
echo -e "/etc/passwd 파일 선택하기 = "
read word
case $word in
"1") echo "passwd 파일 맞음" ;;
"2") echo "passwd 파일 아님" ;;
"3") echo "passwd 파일 아님" ;;
esac
echo ""
echo ""
echo -e "/etc/passwd, 파일 직접 입력하기"
read word2
case $word2 in
"/etc/bash") echo "passwd 파일 아님" ;;
"/etc/profile") echo "passwd 파일 아님" ;;
"/etc/passwd") echo "passwd 파일 맞음" ;;
*) echo "잘못된 선택" ;;
esac
위에 case문 예제를 2개 확인해 볼 수 있습니다. 1번째 예제는 1,2,3 번 숫자를 선택해서 1번 선택 시 정상적인 선택이라는 메세지를 출력합니다. read 명령어를 받아 변수값에 직접적으로 값을 넣어주는것도 가능하며 2번째 예제에서는 직접 파일경로를 입력하여 출력되며 3가지 값 중에 맞지는 값을 입력할 경우 잘못된 선택 메세지로 출력이 됩니다.
case문 사용 예제로 확인해보았으며 쉘 스크립트의 경우 대부분은 if문으로 작성이 가능합니다.
'프로그래밍 > Shell Script' 카테고리의 다른 글
쉘 스크립트 for문 (0) | 2020.11.03 |
---|---|
쉘 스크립트 if문 3 (0) | 2020.10.19 |
쉘 스크립트 if문 1 (0) | 2020.10.10 |
쉘 스크립트 기초 2 (0) | 2020.10.07 |
쉘 스크립트 기초 1 (0) | 2020.10.06 |