4.2.2 接收用戶的參數(shù)

2023-05-11 14:46 更新

但是,像上面這樣的腳本程序只能執(zhí)行一些預(yù)先定義好的功能,未免太過死板了。為了讓Shell腳本程序更好地滿足用戶的一些實時需求,以便靈活完成工作,必須要讓腳本程序能夠像之前執(zhí)行命令時那樣,接收用戶輸入的參數(shù)。

其實,Linux系統(tǒng)中的Shell腳本語言早就考慮到了這些,已經(jīng)內(nèi)設(shè)了用于接收參數(shù)的變量,變量之間可以使用空格間隔。例如$0對應(yīng)的是當(dāng)前Shell腳本程序的名稱,$#對應(yīng)的是總共有幾個參數(shù),$*對應(yīng)的是所有位置的參數(shù)值,$?對應(yīng)的是顯示上一次命令的執(zhí)行返回值,而$1、$2、$3……則分別對應(yīng)著第N個位置的參數(shù)值,如圖4-15所示。

圖4-15 Shell腳本程序中的參數(shù)位置變量

理論過后我們來練習(xí)一下。嘗試編寫一個腳本程序示例,通過引用上面的變量參數(shù)來看下真實效果:

    [root@linuxprobe ~]# vim example.sh
    #!/bin/bash
    echo "當(dāng)前腳本名稱為$0"
    echo "總共有$#個參數(shù),分別是$*。"
    echo "第1個參數(shù)為$1,第5個為$5。"
    [root@linuxprobe ~]# sh example.sh one two three four five six
    當(dāng)前腳本名稱為example.sh
    總共有6個參數(shù),分別是one two three four five six。
    第1個參數(shù)為one,第5個為five。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號