我有一隻程式是透過python撰寫,然後透過shellscript去啟動。因為我懶得加功能在python上,所以希望能透過修改shellscript去增加新功能的選項。然而,當我透過getopts去parse輸入參數時,如果少宣告參數在getopts上,程式就會自行停止。本篇文章主要分享pypass的方法。
預設情況下getopts遇到有問題參數就會停止並顯示無效參數,要避掉這問題解法如下,
branch=master test_mode=false while getopts ":b:t" OPT; do case $OPT in b) branch="$OPTARG";; t) test_mode=true;; \?) shift;; :) shift;; esac done這樣就可以pypass掉不想處理的項目。