Shell 脚本支持同时使用多个参数 shift 移动参数列表
在前面的修改中,我们的脚本已经支持了
但是
所以我们的脚本能支持多个参数就好了。
这里就要用到 shift 来移动参数列表
参考:
https://github.com/czyt1988/czyBlog/tree/master/techShell/shift-getopt
在每一个判断参数的
用一个判断参数数目的循环保证一直处理到参数都没有了。
以下实践没有判断异常情况。如果使用者不按格式使用参数,可能会出现不确定的后果。
修改前:
if [ $# -ge 1 ]; thenGet_System_Infocase ${1} ininstall)Install_WARP_Client;;
#略*)log ERROR "Invalid Parameters: $*"Print_Usageexit 1;;esacelsePrint_Usagefi
修改后:
if [ $# -ge 1 ]; thenGet_System_Infountil [ $# -eq 0 ]docase ${1} ininstall)Install_WARP_Client
shift 1;;
#略ghproxy)ghproxy=${2}shift 2;;*)log ERROR "Invalid Parameters: $*"Print_Usageexit 1;;esac
doneelsePrint_Usagefi
使用方法:
./warp.sh ghproxy "https://github.crazypeace.workers.dev/" menu
不带
./warp.sh menu
评论
发表评论