sh 스크립트 구문

2389 단어
시작 #!/bin/sh
기호 #!시스템 뒤에 있는 인자가 이 파일을 실행하는 프로그램이라는 것을 알려 줍니다.
스크립트에서 chmod + x filename 컴파일을 실행하도록 하려면./파일 이름 실행
특수 기호
와일드카드*
find 명령을 통해 찾습니다.sh 끝 파일, 파일 이름 대신 * 사용
find . -name '*.sh'

{}
시퀀스 생성에 사용
$ echo {1..5}
1 2 3 4 5

작은따옴표, 큰따옴표, 큰따옴표 없음, 반대따옴표
작은따옴표
내용
$ echo '$PWD hostname'
$PWD hostname

더블 따옴표
안의 특수 기호를 해석하다
$ echo "$PWD hostname"
/Users/lvhan/Desktop/dirName/subDir hostname

따옴표 없음
echo $PWD hostname
/Users/lvhan/Desktop/dirName/subDir hostname

역따옴표
먼저 실행하고 결과를 $()와 같은 작용으로 남깁니다
중괄호
()
표현식
파일 표현식
if [ -f file ]     
if [ -d ...  ]     
if [ -s file ]        
if [ -r file ]        
if [ -w file ]        
if [ -x file ]         

정수 변수 표현식
if [ int1 -eq int2 ] int1 == int2
if [ int1 -ne int2 ] int1 != int2
if [ int1 -ge int2 ] int1 >= int2
if [ int1 -gt int2 ] int1 >  int2
if [ int1 -le int2 ] int1 <= int2
if [ int1 -lt int2 ] int1 <  int2

문자열 변수 표현식
if [ $string1 = $string2 ]  string1 == string2 //              
if [ $string1 != $string2]  string1 != string2
if [ -n $string ] string  ( 0),   0(true)
if [ -z $string ] string  
if [ $string]   -n

cat 명령
1. cat filename =>         
2. cat > filename =>       
3. cat file1 file2 > file =>  file1 file2    file
4. cat file1 >> file2 =>  file1     file2
  :
-n   --number   1             
-b   --number-nonblank   -n   ,           
-s   --squeeze-blank               ,          
-v   --show-nonprinting

find 명령
find pathName -name "   " -exec ... \;

문자열 포함 판단
   :  grep  

strA="Hello world"
strB="llo"
result=$(echo $strA | grep "${strB}")
if [[ "$result" != "" ]];then
    echo "  "
else
    echo "   "
fi

   :        

strA="Hello world"
strB="llo"
if [[ $strA =~ $strB ]];then
    echo "  "
else
    echo "   "
fi

   :     

strA="Hello world"
strB="llo"
if [[ $strA == *$strB* ]];then
    echo "  "
else
    echo "   "
fi

미완성지속적인 업데이트

좋은 웹페이지 즐겨찾기