본문 바로가기

Linux/쉘스크립트

1. 테스트(Test Constructs)


o 조건식이 거짓이면 아래 내용으로는 실행을 하지 않는다. if [ 조건식 ] then 조건식이 참일 때 실행문 fi if [ 조건식 ] then 조건식이 참일 때 실행하는 실행문 else 조건식이 거짓일 때 실행하는 실행문 fi if [ $i -eq 3 ] > then > echo true > fi true 내부명령어 [ 를 사용할 때는 반드시 끝에 ] 문자가 와야 하고 없다면 에러 test 명령어를 사용하는 끝에 ] 문자가 없어도 된다. [ test type : 어떤 명령어가 구분해준다. alias 명령어 내부명령어 외부명령어 함수 키워드 ===================================================================== LAB> 아래 내용을 가지고 if 문을 실행 결과를 화면에 출력하시오. A -eq B A와 B가 서로 같다 A -ne B A와 B가 서로 같지 않다 변수 i 에 3 을 대입한다. 변수 j 에 10을 대입한다. 서로 비교해서 아래 문장을 화면에 출력한다. -- 실행 결과 -- 변수 i와 j는 같지 않습니다. -- 실행 결과 -- i=3 j=10 if [ $i -ne $j ] then echo 변수 i와 j는 같지 않습니다. fi ===================================================================== ===================================================================== LAB> 아래 내용을 가지고 if 문을 실행 결과를 화면에 출력하시오. A -eq B A와 B가 서로 같다 A -ne B A와 B가 서로 같지 않다 변수 i 에 10을 대입한다. 변수 j 에 10을 대입한다. 서로 비교해서 변수가 같다면 아래 문장을 화면에 출력한다. -- 실행 결과 -- 변수 i와 j는 같습니다. -- 실행 결과 -- i=10 j=10 if [ $i -eq $j ] then echo 변수 i와 j는 같습니다. fi ===================================================================== ===================================================================== LAB> 위 LAB과 동일하게 사용자가 root 이면 아래 내용을 출력하시오. !!! id 명령어를 사용한다. !!! A -eq B A와 B는 서로 같습니다. A -ne B A와 B가 서로 같지 않다 -- 실행 결과 -- 관리자님 환영합니다. -- 실행 결과 -- i=`id -u` j=0 if [ $i -eq $j ] then echo "관리자님 환영합니다." else echo "당신은 일반 유저입니다." fi ===================================================================== ===================================================================== LAB> 문자열이 두 개를 비교하는 프로그램을 작성하시오. 만약 두 문자열이 같으면 true 를 출력하고 거짓이면 false 를 출력하시오. -- 조건 -- = 을 이용한다. 첫 번째 문자열 : linux 두 번째 문자열 : windows -- 조건 -- ===================================================================== ===================================================================== LAB> 문자열이 두 개를 비교하는 프로그램을 작성하시오. 만약 두 문자열이 같지 않으면 true 를 출력하고 같으면 false 를 출력하시오. -- 조건 -- != 을 이용한다. 첫 번째 문자열 : linux 두 번째 문자열 : windows -- 조건 -- # if [ linux != windows ]; then echo true; else echo false; fi true # if [[ linux != windows ]]; then echo true; else echo false; fi true ===================================================================== ===================================================================== LAB> 점수 두 개를 입력받아서 서로 같으면 true 를 출력하고 다르면 false 를 출력하는 프로그램을 작성하시오. -- 조건 -- 첫 번째 점수 : 영어점수, 변수명 : eng 두 번째 점수 : 국어점수, 변수명 : kor 필요한 명령어 : printf , echo , read , [ -- 조건 -- -- 실행 결과 -- 국어 점수를 입력하세요 : 95 영어 점수를 입력하세요 : 90 국어, 영어점수 결과 : false -- 실행 결과 -- # printf 국어 점수를 입력하세요 : " ; read kor 국어 점수를 입력하세요 : 95 # printf "영어 점수를 입력하세요 : "; read eng 영어 점수를 입력하세요 : 90 # if [ $kor -eq $eng ] > then > echo true > else > echo false > fi false # echo $kor 95 # echo $eng 90 # printf "국어 점수 : "; read kor ; \ > printf "영어 점수 : "; read eng; \ > if [ $kor -eq $eng ]; then echo true; else echo false; fi 국어 점수 : 10 영어 점수 : 20 false =====================================================================


'Linux > 쉘스크립트' 카테고리의 다른 글

until과 위치 매개변수 사용  (0) 2015.05.11
5. 루프  (0) 2015.05.06
4. 테스트와 분기(Testing and Branching)  (0) 2015.05.04
3. 비교 연산자(이진)  (0) 2015.05.04
2. 파일 테스트 연산자  (0) 2015.05.04