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