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: 表示不带选项
相关推荐
穆梓兰煊2 分钟前
TS5.7 vs 裸JS:AI应用少3坑
前端
榆瓷11 分钟前
闲着没事,我把 WebGPU 的样板代码封成了一个库
前端
1360967572317 分钟前
页面打不开不是 Nginx 的错
前端·后端
xieter18 分钟前
【技术精选】TypeScript 高级类型体操:条件类型与模板字面量深度剖析 (2026-10-06)
javascript
ss2731 小时前
AI全栈实战 | 3.3-02 Python 并发:有 GIL 为什么还用多线程,asyncio 和 JS 事件循环同源不同味
开发语言·javascript·python
liangshanbo12151 小时前
高级前端面试题:package.json 常见字段
前端·json
CappuccinoRose1 小时前
输入事件进阶
前端·javascript·输入事件
liangshanbo12153 小时前
面试题:前端工程化中 Tree Shaking的原理是什么?
前端·treeshaking
500843 小时前
React Native for OpenHarmony 实战:三方库 react-native-url-polyfill 的鸿蒙化适配指南
javascript·react native·react.js·性能优化·electron·harmonyos
补码缩写4 小时前
视频跳转触发了seeked,画面就到位了吗
前端