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: 表示不带选项
相关推荐
智航GIS8 小时前
10.7 pyspider 库入门
开发语言·前端·python
华仔啊8 小时前
写 CSS 用 px?这 3 个单位能让页面自动适配屏幕
前端·css
Van_captain8 小时前
rn_for_openharmony常用组件_Breadcrumb面包屑
javascript·开源·harmonyos
静听松涛1338 小时前
提示词注入攻击的防御机制
前端·javascript·easyui
晚风予星9 小时前
简记 | 一个基于 AntD 的高效 useDrawer Hooks
前端·react.js·设计
栗子叶9 小时前
网页接收服务端消息的几种方式
前端·websocket·http·通信
菩提小狗9 小时前
Sqli-Labs Less-3 靶场完整解题流程解析-豆包生成
前端·css·less
澄江静如练_9 小时前
优惠券提示文案表单项(原生div写的)
前端·javascript·vue.js
C_心欲无痕9 小时前
ts - 关于Object、object 和 {} 的解析与区别
开发语言·前端·javascript·typescript
L Jiawen9 小时前
【Windows 系统】Chrome浏览器退出登录状态失效
前端·chrome·windows