shell script

linux 2011. 9. 21. 11:22
1. 여러 명령어의 실행 결과를 변수로 받을 때
  ` `(역따옴표) 표시로 묶는다. 주의할 점은 ' '(단일 따옴표)과 헷갈릴 수 있다는 점이다. 주의하자. 

  ex)
     TSET=`ls |grep dump`


2. 문자열을 연결하는 방법
  방법 1. 
    MSG1="I AM"
    MSG2="A BOY"
    RESULT=$MSG1$MSG2
  방법 2. 
     MSG1="I AM"
     RESULT=$[MSG1]"A BOY"



3. if 문의 조건 비교문 정리
    [ string ]             : string이 빈 문자열이 아니라면 참
[ string1
= string2 ] : 두 문자열이 같다면 참 [ string1 != string2 ] : 두 문자열이 다르면 참 [ -n string ] : 문자열이 null(빈 문자열) 이 아니라면 참 [ -z string ] : 문자열이 null(빈 문자열) 이라면 참 산술비교 [ expr1 -eq expr2 ] : 두 표현식 값이 같다면 참 ( EQual ) [ expr1 -ne expr2 ] : 두 표현식 갑이 같지 않다면 참 ( Not Equal ) [ expr1 -gt expr2 ] : expr1 > expr2 이면 참 ( Greater Then ) [ expr1 -ge expr2 ] : expr1 >= expr2 이면 참 ( Greater Equal ) [ expr1 -lt expr2 ] : expr1 < expr2 이면 참 ( Less Then ) [ expr1 -le expr2 ] : expr1 <= expr2 이면 참 ( Less Equal ) [ ! expr ] : expr 이 참이면 거짓, 거짓이면 참 [ expr1 -a expr2 ] : expr1 AND expr2 의 결과 ( 둘다 참이면 참 ) [ expr1 -o expr2 ] : expr1 OR expr2 의 결과 ( 둘중 하나만 참이면 참 ) 파일조건 [ -b FILE ] : FILE 이 블럭 디바이스 이면 참 [ -c FILE ] : FILE 이 문자 디바이스 이면 참. [ -d FILE ] : FILE 이 디렉토리이면 참 [ -e FILE ] : FILE 이 존재하면 참 [ -f FILE ] : FILE 이 존재하고 정규파일이면 참 [ -g FILE ] : FILE 이 set-group-id 파일이면 참 [ -h FILE ] : FILE 이 심볼릭 링크이면 참 [ -L FILE ] : FILE 이 심볼릭 링크이면 참 [ -k FILE ] : FILE 이 Sticky bit 가 셋팅되어 있으면 참 [ -p FILE ] : True if file is a named pipe. [ -r FILE ] : 현재 사용자가 읽을 수 있는 파일이면 참 [ -s FILE ] : 파일이 비어있지 않으면 참 [ -S FILE ] : 소켓 디바이스이면 참 [ -t FD ] : FD 가 열려진 터미널이면 참 [ -u FILE ] : FILE 이 set-user-id 파일이면 참 [ -w FILE ] : 현재 사용자가 쓸 수 있는 파일(writable file) 이면 참 [ -x FILE ] : 현재사용자가 실행할 수 있는 파일(Executable file) 이면 참 [ -O FILE ] : FILE 의 소유자가 현재 사용자이면 참 [ -G FILE ] : FILE 의 그룹이 현재 사용자의 그룹과 같으면 참 [ FILE1 -nt FILE2 ] : FILE1이 FILE2 보다 새로운 파일이면 ( 최근파일이면 ) 참 [ FILE1 -ot FILE2 ] : FILE1이 FILE2 보다 오래된 파일이면 참 [ FILE1 -ef FILE2 ] : FILE1 이 FILE2의 하드링크 파일이면 참



4. 환경 변수
  $0 : 실행된 쉘 스크립트의 방법 1. 
  $# : 스크립트에 넘겨진 인자의 갯수 
  $$ : 쉡스크립트의 프로세스 ID


5. 산술연산 예제

  COUNT=0

  COUNT=`expr $COUNT + 1`

  let COUNT=COUNT+1

  COUNT=$(($COUNT+1))



'linux' 카테고리의 다른 글

화면 캡쳐하는 방법  (0) 2011.09.21
svn+ssh 사용법  (0) 2011.09.21
init.d run script 를 쉽게 각 run level 에 등록하는  (0) 2011.09.21
[network] 우분투에서 네트웍 설정하는법  (0) 2011.09.21
MAC 변경하는 법  (0) 2011.09.21
블로그 이미지

김유석0

,