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: 表示不带选项
相关推荐
别惊醒渔人1 小时前
Vue3 Diff 优化:最长递增子序列 LIS
前端·javascript·vue.js
颜酱1 小时前
07 | 把字段与指标同步到 Qdrant(生成阶段)
前端·人工智能·后端
用户059540174462 小时前
把AI长期记忆测试从手动验证换成pytest,2天揪出11个隐藏Bug
前端·css
Larcher2 小时前
从“加载模型”界面到端侧推理:拆解一个 React + WebGPU 大模型 Demo
javascript·后端
Larcher2 小时前
从状态快照到惰性初始化:读懂 React useState 的三个关键场景
javascript·人工智能·后端
lichenyang4533 小时前
从 Vite 空项目到 AIGC 图片工作台:我如何打通生图、任务轮询、生成库与 Canvas 动态特效
前端·人工智能
泡沫冰@3 小时前
上章节中文件的讲解
前端·网络·nginx
进击的丸子3 小时前
APP人脸识别增值版Harmony Demo实操与关键代码解析
前端·程序员·harmonyos
a1117764 小时前
唯美花朵风格的黑胶唱片音乐播放器
前端·css·css3
Hilaku4 小时前
工作 5 年后,决定你薪资上限的究竟是什么?
前端·javascript·程序员