블로그 이미지
GUCCI

카테고리

전체보기 (111)
여행 (1)
기기 (2)
쇼핑 (0)
게임 (0)
etc. (6)
취업이야기 (0)
업무일지 (5)
리눅스 (38)
웹프로그래밍 (2)
네트워크 (4)
JAVA (17)
Android (0)
IOS (2)
LUA (8)
C/C++ (1)
Objective C (2)
SERVER (2)
그누보드4 (1)
MSSQL (2)
Programming (1)
자바스크립트 (4)
HTML/CSS (1)
LGNAS (0)
Total
Today
Yesterday

1. /etc/profile - 콘 쉘이 로그인 쉘로 지정된 모든 사용자가 로그인할 때마다 이 파일을 읽는다.

2. $HOME/.profile - 콘 쉘이 로그인 쉘로 지정된 사용자가 로그인할 때마다 홈 디렉토리에 파일이 있으면 읽는다.

3. $HOME/.kshrc - 콘 쉘이 로그인 쉘로 지정된 사용자가 로그인할 때마다 $HOME/.profile파일에서 따로 설정이

                            되어 있으면 추가로 읽는 파일이다.

 

$0 - 쉘 스크립트의 이름

$1 - $9 - 첫 번째 아규먼트,두 번째 아규먼트, ... , 아홉번 째 아규먼트

${10} - ${n} - 열 번째 아규먼트, 열한 번째 아규먼트, ... ,n번째 아규먼트

$# - 아규먼트의 개수

$@ - 쉘 스크립트에 입력된 모든 아규먼트

$* - 쉘 스크립트에 입력된 모든 아규먼트

 

조건문

본쉘                                  콘쉘                                              의미

[-r file_name]          [[-r file_name]]           file_name의 내용을 읽을 수 있는지 검사

[-w file_name]        [[-w file_name]]          file_name의 내용을 변경할 수 있는지 검사

[-x file_name]         [[-x file_name]]           file_name을 실행할 수 있는지 검사

불가능                    [[-O file_name]]          file_name의 소유주가 스크립트를 실행하는 사람인지 검사(Owner)

불가능                    [[-G file_name]]          file_name의 그룹 소유주가 스크립트를 실행하는 사람이 속한 그룹인지 검사

[-f file_name]          [[-f file_name]]           file_name이 일반적인 파일인지 검사

[-d file_name]         [[-d file_name]]          file_name이 디렉토리인지 검사

[-c file_name]         [[-c file_name]]          file_name이 캐릭터 디바이스 파일인지 검사

[-b file_name]         [[-b file_name]]          file_name이 블록 디바이스 파일인지 검사

불가능                    [[-L file_name]]          file_name이 심볼릭 링크인지 검사

[-s file_name]         [[-s file_name]]          file_name의 크기가 0보다 큰 값인지 검사

불가능                    [[-e file_name]]          file_name이 존재하는지 검사(Exist)

 

본쉘                                       콘쉘                                               의미

[$num1 -eq $num2]        ((num1 == num2))         num1과 num2가 같은 값인지 검사(equal)

[$num1 -ne $num2]        ((num1 != num2))          num1과 num2가 다른 값인지 검사(not equal)

[$num1 -lt $num2]          ((num1 < num2))          num1이 num2보다 작은 값인지 검사(Less than)

[$num1 -gt $num2]         ((num1 > num2))          num1이 num2보다 큰 값인지 검사(greater than)

[$num1 -le $num2]         ((num1 <= num2))         num1이 num2보다 작거나 같은 값인지 검사(less than or equal)

[$num1 -ge $num2]        ((num1 >= num2))         num1이 num2보다 크거나 같은 값인지 검사(greater than or equal)

 

본쉘                               콘쉘                                   의미

[str1 = str2]             [[str1 == str2]]                 str1과 str2가 같은 값인지 검사

[str1 != str2]            [[str1 != str2]]                  str1과 str2가 다른 값인지 검사

불가능                    [[str1 == pattern]]             str1이 pattern으로 표현할 수 있는지 검사

불가능                    [[str1 != pattern]]              str1이 pattern으로 표현할수 없는지 검사

[str1 < str2]            [[str1 < str2]]                   str1과 str2를 사전 순으로 비교하여 str1이 앞서 있는지 검사

[str1 > str2]            [[str1 > str2]]                   str1과 str2를 사전 순으로 비교하여 str2가 앞서 있는지 검사

[-z str2]                 [[-z str2]]                        str1의 길이가 0인지 검사

[-n str2]                 [[-n str2]]                        str1의 길이가 1이상인지 검사

 

본쉘              콘쉘                                        의미

-o                 ||                     양쪽 조건 중 어느 하나만 만족하면 모든 조건이 만족

-a                 &&                    양쪽 조건 모두 다를 만족하면 모든 조건이 만족

!                                           조건이 결과 값을 반대로 바꿈

 

 

if문 - 조건의 진리 값이 참인 경우와 거짓인 경우로 나누어서 어느 부분을 선택하여 실행할 것인지를 결정                           

if 조건문                                          if 조건문                                      if 조건문

then                                                then                                           then

    명령어들              ->                           명령어            ->                       명령어

fi                                                    else                                           elif 조건문

                                                            명령어                                  then

                                                      fi                                                     명령어

                                                                                                       else

                                                                                                           명령어

                                                                                                        fi

Case문 : if문의 또다른 형태

case value in

pattern1|pattern2)

        명령어

         ;;

pattern3|pattern4)

        명령어

         ;;

pattern5|pattern6)

         명령어

         ;;

*)

         명령어

         ;;

esac

 

for문 : 미리 정해진 횟수를 반복할 때 사용

for var in list_of_value

do

      명령어

done

 

while문 : 조건을 만족하는 동안 반복하는데 사용

while 조건문

do

    명령어

done

 

until문 : 조건이 만족되지 않은 동안에만 반복한다.

until 조건문

do

    명령어들

done

 

select문 : 메뉴를 만들고 사용자가 메뉴에서 선택한 값에 따라서 명령어를 실행할 때 사용

select var in list_of_value

do

   명령어들

done

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

쉘 내장 명령어  (2) 2012.02.14
쉘 프로그래밍 강좌  (2) 2012.02.09
쉘스크립트  (1) 2012.02.08
#!/bin/sh  (3) 2012.02.08
Posted by GUCCI
, |

최근에 달린 댓글

글 보관함