linux shell腳本常用語句


 

linux shell 指令 諸如-d, -f, -e之類的判斷表達式

文件比較運算符
-e filename  如果 filename存在,則為真  [ -e /var/log/syslog ]
-d filename  如果 filename為目錄,則為真  [ -d /tmp/mydir ]
-f filename  如果 filename為常規文件,則為真  [ -f /usr/bin/grep ]
-L filename  如果 filename為符號鏈接,則為真  [ -L /usr/bin/grep ]
-r filename  如果 filename可讀,則為真  [ -r /var/log/syslog ]
-w filename  如果 filename可寫,則為真  [ -w /var/mytmp.txt ]
-x filename  如果 filename可執行,則為真  [ -L /usr/bin/grep ]
filename1-nt filename2  如果 filename1比 filename2新,則為真  [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2  如果 filename1比 filename2舊,則為真  [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比較運算符 (請注意引號的使用,這是防止空格擾亂代碼的好方法)
-z string  如果 string長度為零,則為真  [ -z "$myvar" ]
-n string  如果 string長度非零,則為真  [ -n "$myvar" ]
string1= string2  如果 string1與 string2相同,則為真  [ "$myvar" = "one two three" ]
string1!= string2  如果 string1與 string2不同,則為真  [ "$myvar" != "one two three" ]
算術比較運算符
num1-eq num2  等於 [ 3 -eq $mynum ]
num1-ne num2  不等於 [ 3 -ne $mynum ]
num1-lt num2  小於 [ 3 -lt $mynum ]
num1-le num2  小於或等於 [ 3 -le $mynum ]
num1-gt num2  大於 [ 3 -gt $mynum ]
num1-ge num2  大於或等於 [ 3 -ge $mynum ]

 

舉例:

 1 if [ $# != 1 ]; then                                                            
 2     echo arguement error ...                                                    
 3     exit 0                                                                      
 4 fi                                                                              
 5                                                                                 
 6 if [ ! -e "$1" ]; then                                                          
 7     echo no such device $1                                                      
 8     exit 0                                                                      
 9 fi                                                                              
10                                                                                 

這里包含if判斷的東西,if 里面的判斷[] 里面的條件必須要有空格

例如: if [ -e  "/dev/sdb" ];then

    ...

   fi

[ 后面有個空格, ] 前面也有一個空格。

 

 參考:http://blog.csdn.net/sxzlc/article/details/7542603
 
 
 

linux shell case語句 :

case語句適用於需要進行多重分支的應用情況。

        case分支語句的格式如下:

            case $變量名 in

                模式1

            命令序列1

                ;;

                模式2

            命令序列2

                        ;; 

                *)

            默認執行的命令序列     ;; 

            esac 

        case語句結構特點如下:

        case行尾必須為單詞“in”,每一個模式必須以右括號“)”結束。

        雙分號“;;”表示命令序列結束。

        匹配模式中可是使用方括號表示一個連續的范圍,如[0-9];使用豎杠符號“|”表示或。

        最后的“*)”表示默認模式,當使用前面的各種模式均無法匹配該變量時,將執行“*)”后

    的命令序列。

例如:

 1   case "$1" in                                  //判斷$1                                
 2     *.sh)                                                           //如果是.sh文件,那么執行這一個            
 3         # Source shell script for speed.                                        
 4         (                                                                       
 5             trap - INT QUIT TSTP                                                
 6             scriptname=$1                                                       
 7             shift                                                               
 8             . $scriptname                                                       
 9         )                                                                       
10         ;;                                                                      
11     *)                                                         //如果不是.sh那么執行這個默認的                 
12         "$@"                                                                    
13         ;;                                                                      
14   esac                                                                          

 

參考來源:http://blog.csdn.net/dreamtdp/article/details/8048720

 

 

linux shell   參數:

$1 表示第一個參數。

$2 表示第二個參數。

$3 表示第三個參數。

$@ 表示所有的參數,這個是數組的方式表示所有的參數。

$# 表示參數的個數。

$* 也可以表示所有的參數。

 

linux shell if 判斷語句:

一、if的基本語法:
if [ command ];then
   符合該條件執行的語句
elif [ command ];then
   符合該條件執行的語句
else
   符合該條件執行的語句
fi
 

 

linux shell  while 循環:

 

while循環的格式

 

 
  1. while expression
  2. do
  3. command
  4. command
  5. ```
  6. done

 

參考:http://blog.chinaunix.net/uid-25880122-id-2901409.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM