参数无效_Shell 脚本启动如何传递参数
我們在日常的腳本開發中,經常會碰到當腳本需要輸入參數,然后腳本依據傳遞進來的參數作為依據,判斷執行接下來的腳本邏輯。今天就介紹一下給Shell腳本傳遞參數進行交互的幾種方式。
命令行參數
向腳本傳遞參數最基本的方式就是采用命令行參數。啟動腳本時,通過命令行將參數傳遞給腳本。具體的格式如下:
./my_shell_script param1 param2 #param1,2作為參數,通過命令行啟動腳本my_shell_script時傳遞給腳本。那么腳本如何解析傳遞進來的參數呢?這點和我們常見的C/C++程序類似,有過C++ main函數編寫經驗的伙伴應該知道,我們啟動main函數入口的exe 程序時,我們也采用類似的命令行參數傳遞方式,main函數接受傳遞進來的參數并放入參數數組中,其中exe文件的程序名會作為第一個參數放入參數數組中,而真正的函數參數會作為第二個元素放入數組中。在Shell 腳本中,參數解析是一樣的,只是沒有參數數組的概念。腳本中會將腳本文件名作為第一個參數,并用 $ 符號作為參數的引用。也就是說 $0 存儲著程序名,$1 存儲著腳本的第一個參數, $2 存儲著腳本的第二個參數,以此類推直到 $9. 上例子:
圖1
調用及輸出為:
./my_script helle #啟動腳本,并傳遞參數the name of this script is ./t15the first parameter is helleparameter 2 is null示例比較簡單,不解釋了。值得注意的是,上面的例子中$0作為腳本名,獲得是包含路徑的字符串,如果希望只包含腳本文件名字而不包含路徑信息,則可以通過 $(basename $0)來只截取腳本名字。其次,我們在使用參數時,應該對參數是否有效做判斷,避免參數無效的情況。
bash script 提供了一個命令來統計參數個數 "$#
總結
以上是生活随笔為你收集整理的参数无效_Shell 脚本启动如何传递参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 漫游飞行_美术课|一年级下漫游飞行世界
- 下一篇: 笔记本电脑性价比排行2019_办公笔记本