linux shell判斷腳本執行時傳入了多少個參數,判斷腳本參數個數,參數數量


需求描述

  在寫shell腳本的時候,會有這樣的需求,腳本在執行的過程中是需要傳入參數的,如果沒有參數傳遞給腳本,

  就會給出相應的腳本使用方法或者例子,告知,腳本后面應該加什么樣的參數。所以呢,這里要做的就是如何

  知道當前傳遞給腳本的參數的數量,如果是0個,就執行使用說明的顯示。

實現方法

  腳本中通過$#來判斷,當前傳遞給腳本的參數的數量。

測試腳本

#!/bin/bash

echo $#

 測試過程

分別傳入多個參數,並且執行腳本,查看執行的結果。

[root@redhat6 ~]# ./ts.sh para1
1
[root@redhat6 ~]# ./ts.sh para1 para2
2
[root@redhat6 ~]# ./ts.sh para1 para2 para3
3
[root@redhat6 ~]# ./ts.sh para1 para2 para3 para4
4
[root@redhat6 ~]# ./ts.sh para1 para2 para3 para4 para5
5

說明:通過以上的執行結果可以知道,$#的數量即傳遞給腳本的參數的數量是從$1開始計算的,如果在$1的位置有內容就計數為1,$1 $2的位置都有內容則計數為2,依此類推。

注意:$0是腳本本身,不算是參數,從$1開始計算。

判斷如果傳入的參數的數量等於0,那么就顯示腳本使用方法

if [ $# -eq 0 ];
then
    usage
    exit
fi

 備注:usage是自定義函數,這里僅僅是做一個演示調用,具體情況要自行定義該函數。

 

文檔創建時間:2018年3月8日18:27:26


免責聲明!

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



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