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: 表示不带选项
相关推荐
CF14年老兵6 分钟前
React 共享状态:告别“祖传”Props,拥抱“真香”体验!🚀
前端·react.js·trae
一点一木18 分钟前
🚀 2025 年 08 月 GitHub 十大热门项目排行榜 🔥
前端·人工智能·github
excel21 分钟前
前端如何优雅展示 1 万条数据?从下拉追加到虚拟列表的实战对比
前端
IT_陈寒31 分钟前
React性能优化:5个90%开发者不知道的useEffect内存泄漏陷阱与实战解法
前端·人工智能·后端
秉承初心40 分钟前
Electron 项目来实现文件下载和上传功能(AI)
javascript·electron·iphone
請你喝杯Java2 小时前
【工具类】得到多个数组中的相同元素
开发语言·javascript
祈祷苍天赐我java之术4 小时前
CSS 进阶用法
前端·css
2501_915106327 小时前
移动端网页调试实战,iOS WebKit Debug Proxy 的应用与替代方案
android·前端·ios·小程序·uni-app·iphone·webkit
柯南二号8 小时前
【大前端】React Native 调用 Android、iOS 原生能力封装
android·前端·react native
木宇(记得热爱生活)9 小时前
一键搭建开发环境:制作bash shell脚本
开发语言·bash