天天看點

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

特别提醒:

如果你想知道,如何輕松學習技術、快速賺取現金、鈔票的秘訣,

讓你的技術實作超高的收益,

讓你的技術獲得的收益是身邊朋友、周圍同僚的3倍、5倍。

請立即添加微信:13240133388