bash增加命令行参数

使用getopt

示例如下:

bash 复制代码
TEMP=`getopt -o j: --long job:,install -- "$@"`
eval set -- "$TEMP"

INSTALL=
PACKAGE=
JOB_NUM=$(nproc)

while true ; do
        case "$1" in
                --install) INSTALL="ON"; shift ;;
                -j | --job) JOB_NUM=$2; shift 2;;
                --) shift ; break ;;
                *) echo "Internal error!" ; exit 1 ;;
        esac
done
# echo "options:INSTALL("$INSTALL"),PACKAGE("$PACKAGE"),JOB_NUM("$JOB_NUM")"
  • -o: 表示短选项,多个选项之间没有分割符。
    • 注:会有:或者::, 前者表示一定有值,后者表示可有值,或没有值
  • --long: 表示长选项,也可以使用 -l,多个选项之间用,分割
  • j:: 表示选项j一定要带值
  • install: 表示不带选项
相关推荐
阿坨几秒前
JavaScript异步编程:Promise与async/await
javascript
YG亲测源码屋1 分钟前
html表白代码大全可复制免费 html表白网页制作源码
前端·html
夜雪闻竹4 分钟前
React Query + REST API 最佳实践
前端·react.js·前端框架
段ヤシ.5 分钟前
回顾Java知识点,面试题汇总Day12:tomcat、 Java Web(持续更新)
java·前端·tomcat·java web
JAVA学习通7 分钟前
从 Bean 到微服务:一张图吃透 Spring 全家桶底层原理
java·前端·spring
古韵8 分钟前
前端请求库的下一个进化方向:从 Promise 到策略化
前端
独特的螺狮粉10 分钟前
蛋鸡养护周期管理系统 - 鸿蒙PC Electron框架完整实现指南
前端·javascript·华为·electron·前端框架·开源·鸿蒙
忧郁的蛋~15 分钟前
ASP.NET Core Web API 完全指南:请求管道、认证、错误处理到生产部署
前端·后端·asp.net·.net
我穿棉裤了25 分钟前
解决el-form表单校验时显示的红色星号与文字对齐的问题
前端·javascript·vue.js
copyer_xyf26 分钟前
Python 类全面总结
前端·后端·python