需求描述:
在寫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