使用shift命令解析命令行参数
使用shift命令解析命令行参数
网上流传的一些使用getopt/getopts解析命令行的方法在我的环境上不好用。后来发现直接使用shift解析命令行参数,简单方便。虽然不够完善,但是上手速度极快,日常使用充足。
简单解释下shift, shift可以将命令行参数”左移“,比如开始 $2 取第二个参数,执行过shift 2之后,$2就可以取原先第4个参数了。
直接上代码示例
while [ -n "$*" ]; do
arg=$1 # 命令行第一个参数
case "$arg" in
--env) env="$2" ; shift 2 ;; # --env 后面跟一个参数,所以移动两个位置
--re-deploy) reDeploy="true" ; shift ;; #后面不跟参数,所以shift移动一个位置
--batch-seconds) seconds="$2" ; shift 2 ;;
--size) size="$2" ; shift 2 ;;
--) shift ; break ;; # 一定要记得结束
*) echo "Internal error!" ; exit 1 ;;
esac
done