TIPS shell解析命令行参数

使用shift命令解析命令行参数

  • 使用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

参考
解析命令行参数工具:getopts/getopt
Shell编程中Shift的用法

你可能感兴趣的:(其它,shell)