728x90
목록이란
 여러 조건 중에서 적어도 하나만이라도 참이 되길 바랄 때, 다중 if 구문을 사용할 수 있지만 비효율적이다.
 이럴 때 목록을 사용하면 여러 명령어를 수평적으로 나영하여 결과값의 검사가 가능하다.
 목록에는 AND 목록과 OR 목록, 구문 블록이 있다.
 
 
 AND 목록
 AND 목록을 사용하면 여러 명령을 한꺼번에 수행
 if 문과 같은 구문을 간략하게 줄여서 수행

 표현식

   statement1 & statement2 & statement3 &...
 왼 쪽 statement1부터 시작하여 그 결과값이 참이라면 그 다음 statement2가 수행되며, stateament 들이 거짓이 될 때까지 수행이 계속되며 statement들이 거짓을 반환한다면 더 이상의 statement들은 수행되지 않음

 모든 statement들이 성공적으로 수행되었을 때에만 참이고, 다른 경우에는 거짓

     $vi sample1
     #!/bin/sh
     touch file01
     rm f file1
     if [-f file1] && echo "file1" && [-f file2] & echo "file02"
     then
             echo  "if"
     else
             echo  "else"
     fi
     $chmod +* sample1
     $./sample1
     file1
     else
   


 OR 목록
 어떤 하나의 구문에서 수행이 성공할 때까지 일련의 구문을 계속 수행
 if 문과 같은 구문을 간략하게 줄여서 수행

 표현식

   statement1 || statement2 || statement3 || ...
 왼쪽 statement1부터 시작하여 그 결과값이 거짓이라면 그 다음 statement2를 수행하는데 어떤 구문이 참이라면 더 이상 다음 statement 들을 수행하지 않음

 어떠한 satement들이 성공적으로 수행되었을 때에만 참이고, 모든 statement들의 수행이 실패하였을 경우에는 거짓

     $vi sample2
     #!/bin/sh
     rm f file1
     if [-f file1] || echo "file1" || echo "file02"
     then
             echo  "if"
     else
             echo  "else"
     fi
     $chmod +* sample2
     $./sample2
     file1
     if
   


 AND 목록과 OR 목록 조합

 AND 목록과 OR 목록을 적절히 사용하면 편리

 표현식

   statement && command for true || command for false

 statement 가 성공하면 처음의 command가 수행되고, 다른 경우에는 두 번째 command | 가 수행


 구문 블록

 AND 목록이나 OR 목록에서처럼 하나의 statement만이 허용되는 장소에서 여러 statement들을 함께 사용하고 싶을 경우 { }을 사용하여 구문 블록을 이용

 표현식

   statement1 && {

               statement2

               statement3

               ...

    }


 함수의 기능
 명령어 그룹을 메모리내에 정의
 약어의 기능으로 사용
 Shell 스크립트의 크기를 적절히 조절할 경우 사용
 코드를 구조화하는데 유리
 표현식
   Functuion_Name( ){
        Commands
   }
728x90

'Programming > linux왕초보' 카테고리의 다른 글

리눅스 버젼확인은 어찌하나요???;;  (0) 2008.09.12
shell programming - 변수  (0) 2008.09.11
shell programming - 제어문  (0) 2008.09.11
shell programming - 제어문  (0) 2008.09.11
shell programming - 반복문  (0) 2008.09.11
shell programming - 명령 실행  (0) 2008.09.11
shell programming  (0) 2008.09.11
shell programming - 명령어  (0) 2008.09.11
crontab 사용  (0) 2008.09.11
네트워크 모니터링  (0) 2008.09.10

+ Recent posts