文章出處
文章列表
/path/to/scriptname opt1 opt2 opt3 opt4 $0 $1 $2 $3 $4
這樣夠清楚了吧?運行的腳本檔名為 $0 這個變量,第一個接的參數就是 $1 啊~ 所以,只要我們在 script 里面善用 $1 的話,就可以很簡單的立即下達某些命令功能了!除了這些數字的變量之外, 我們還有一些較為特殊的變量可以在 script 內使用來呼叫這些參數喔!
- $# :代表后接的參數『個數』,以上表為例這里顯示為『 4 』;
- $@ :代表『 "$1" "$2" "$3" "$4" 』之意,每個變量是獨立的(用雙引號括起來);
- $* :代表『 "$1c$2c$3c$4" 』,其中 c 為分隔字節,默認為空白鍵, 所以本例中代表『 "$1 $2 $3 $4" 』之意。
那個 $@ 與 $* 基本上還是有所不同啦!不過,一般使用情況下可以直接記憶 $@ 即可! 好了,來做個例子吧~假設我要運行一個可以攜帶參數的 script ,運行該腳本后螢幕會顯示如下的數據:
- 程序的檔名為何?
- 共有幾個參數?
- 若參數的個數小於 2 則告知使用者參數數量太少
- 全部的參數內容為何?
- 第一個參數為何?
- 第二個參數為何
腳本名稱 sh04.sh
#!/bin/bash # Program: # Program shows the sripts name, parameters... # History: # 2015/9/6 zengdp First release PATH=/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH echo "The script name is ==> $0" echo "Total parameter number is ==> $#" [ "$#" -lt 2 ] && acho "The number of parameter is less than 2. Stop here." && exit 0 echo "You whole parameter is ==>'$@'" echo "The 1st parameter ==> $1" echo "The 2nd parameter ==> $2"
輸入命令 sh sh04.sh the one haha quot
腳本運行后輸出:
The script name is ==> sh06.sh Total parameter number is ==> 4 You whole parameter is ==>'the one haha quot' The 1st parameter ==> the The 2nd parameter ==> one
文章列表
全站熱搜