셸 프로 그래 밍 가이드

3314 단어 셸 프로 그래 밍
기초 지식
셸 실행 방식   sh xx.sh(파일 은 r 권한 이 있어 야 합 니 다)  ||  ./xx.sh(파일 은 x 권한 이 있어 야 합 니 다)주:sh xx.sh 방식 이 안전 합 니 다.
파일 이름 접미사.sh
셸 내용 시작\#!/bin/bash || #!/bin/sh || #!/bin/csh || #!/bin/ksh 주석:\#!/bin/bash 사용 이 많 습 니 다.
탈퇴  exit 0
변수 할당 및 사용
정의 없 이 바로 사용 할 수 있 습 니 다.  주:변수 할당 시=번호 양 끝 에 빈 칸 이 있 으 면 안 됩 니 다.
$변수 이름 또는${변수 이름}으로 변수 내용 에 접근 합 니 다.
공정 제어
판 가름  주:괄호 의 빈 칸 확보 하기;모든 조건 에 then 이 있 는 지 확인 합 니 다.

if [ Cd ‘dirname' ];then
    1
elif 2;then
    2
else
     4
fi

case $ in
match_1 )
        1
        ;;
match_2)
        2
        ;;
……
*)( )
        n
        ;;
esac
순환 하 다.
1.while 조건

do

        //TODO

done

2.until 조건

do
   
done
 
3.for(초기 값;조건발 딱 발 딱

do
   
done
4.for 순환 변수 in 변수 목록

do
   
done
상용 판단 조건문
파일 형식 판단
테스트 마크    어의    예 를 들다
-e    “파일 이나 디 렉 터 리 가 존재 하 는 지 여부    test Ce $file_name
-f    “파일 이나 디 렉 터 리 가 존재 하고 파일 인지 여부    test Cf $file_name
-d    “파일 이나 디 렉 터 리 가 존재 하고 디 렉 터 리 인지 여부    test Cd “/boot”
-b    “파일 이나 디 렉 터 리 가 존재 하고 블록 장치 입 니 다.    test Cb “/dev/sda1”
-c    “파일 이나 디 렉 터 리 가 존재 하고 글자 장치 입 니 다.    test Cc “/dev/tty0”
-S    “파일 이나 디 렉 터 리 가 존재 하고 Socket 파일 입 니 다.    test CS “/var/run/rpcbind.sock”
-p    “파일 이나 디 렉 터 리 가 존재 하고 FIFO 파일 입 니 다.    test Cp $file_name
-L    “파일 이나 디 렉 터 리 가 존재 하고 링크 파일 입 니 다.    test CL $file_name
파일 권한 판단
테스트 마크    어의
-r    “파일 이나 디 렉 터 리 가 존재 하고 읽 을 수 있 는 권한 이 있 는 지 여부
-w    “파일 이나 디 렉 터 리 가 존재 하고 쓰기 권한 이 있 는 지 여부
-x    “파일 이나 디 렉 터 리 가 존재 하고 실행 가능 한 권한 이 있 는 지 여부
-u    “파일 이나 디 렉 터 리 가 존재 하고 SUID 속성 이 있 습 니 다.
-g    “파일 이나 디 렉 터 리 가 존재 하고 SGID 속성 이 있 습 니 다.
-k    “파일 이나 디 렉 터 리'가 존재 하고 Sticky bit 속성 이 있 습 니 다.
-s    “파일 이나 디 렉 터 리 가 존재 하 며 비어 있 지 않 은 파일 입 니 다.
파일 간 비교
테스트 마크    어의
-nt    “파일 이름 1'파일 이름 2'보다 새 것 인지 여부(newer than)
-ot    “파일 이름 1'이'파일 이름 2'보다 오래된 지 여부(older than)
-ef    '파일 이름 1'과'파일 이름 2'가 같은 파일 인지 판단 합 니 다.주로 하 드 링크,즉 두 파일 이 같은 inode 노드 를 가리 키 는 지 판단 합 니 다.
정수 간 비교
테스트 마크    어의
-eq    양수 가 같다(equal)
-ne    두 수가 같 지 않다.
-gt    정수 1 이 정수 2 보다 크다(greater than)
-lt    정수 1 은 정수 2 보다 작다(less than)
-ge    정수 1 은 정수 2 보다 크다(greater than or equal)
-le    정수 1 은 정수 2 보다 작다(less than or equal)
혹은
테스트 마크    어의
-a    (and)두 가지 조건 이 동시에 성립 되면 true 로 돌아 갑 니 다.  test Ce file1 Ca Cd file2
-o    (or)두 가지 조건 중 어느 하나 가 성립 되면 true 로 돌아 갑 니 다.  test Cr file1 Co Cx file2
!    (비)현재 조건  test ! Cd file1
제어 구조
계산 정수 변수 값
expr  주:연산 기호 와 매개 변수 사이 에 빈 칸 이 있어 야 합 니 다.연결 기호(*),곱셈 연산 자로 사용 할 때\;
let 예:let s=(2+3)*4

좋은 웹페이지 즐겨찾기