之所以用到命令行參數,關鍵在于shell腳本需要與運行腳本的人員進行交互。
bash shell提供了命令行參數添加在命令后面的數據值)、命令行選項修改命令行為的單字符值)和直接讀取鍵盤輸入。
1、命令行參數
向shell腳本傳遞數據的最基本方式是使用命令行參數。
1)讀取參數
讀取輸入的參數的變量為位置參數,位置參數通過標準數字表示,
其中$0為程序名稱,$1為第一個參數,$2為第二個參數,依次類推,直到$9為第九個參數。
shell腳本自動將命令行參數賦值給各個位置變量。
同時輸入多個參數可以是數值也可以是字符串)時,必須使用空格分隔要想在參數值中包含空格,就必須使用單引號或雙引號)
當參數多于9個后,必須在shell腳本內使用大括號將變量括起來,如${10}。從而可以使用任意個參數。
2)讀取程序名稱
傳遞給變量$0的字符串實際上是程序的路徑根據調用方法決定是相對還是絕對路徑)。
使用basename命令可以去掉路徑前綴,只獲得程序名稱名字中不 可以有空格)。
3)測試腳本
當腳本認為應該包含參數,卻實際上沒有數據時,就會出錯。
好的方法是對參數進行檢查來保證使用參數前確實存在數據,可以使用-n參數來檢查。
例子:if [
主站蜘蛛池模板:
辽中县|
宜兰县|
杂多县|
比如县|
集安市|
崇文区|
错那县|
莱阳市|
措勤县|
武川县|
阿城市|
荆门市|
嘉鱼县|
宁波市|
长丰县|
肇源县|
鄂伦春自治旗|
宁蒗|
竹溪县|
伊宁县|
花垣县|
济宁市|
崇礼县|
溧阳市|
广河县|
大理市|
贵定县|
长阳|
凉城县|
墨脱县|
奉节县|
师宗县|
二手房|
蓬安县|
若尔盖县|
调兵山市|
肇庆市|
全南县|
汉寿县|
贵阳市|
始兴县|