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: 表示不带选项
相关推荐
英俊潇洒美少年7 小时前
前端安全 完整精讲
前端·安全
aircrushin7 小时前
2026我最推荐的前端设计skills
前端
problc7 小时前
Pretext —— 无 DOM 文本测量与布局引擎
前端·ai
阿kun要赚马内8 小时前
Python面向对象:@property装饰器
开发语言·前端·python
徒 花8 小时前
web前端技术知识复习
前端·html·web
意法半导体STM328 小时前
【官方原创】STM32H7双核芯片通过 STlink连接失败问题分析 LAT1654
开发语言·前端·javascript·stm32·单片机·嵌入式硬件
小王C语言8 小时前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
雨雨雨雨雨别下啦8 小时前
Vue3——RabbitShopping
前端·javascript·vue.js
BumBle8 小时前
从声明式到命令式:Vue3 弹窗组件的工厂模式重构
前端
恋猫de小郭8 小时前
你的蓝牙设备可能正在泄漏你的隐私? Bluehood 如何追踪附近设备并做隐私分析
android·前端·ios