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: 表示不带选项
相关推荐
吃杠碰小鸡12 分钟前
Wps常用功能介绍
前端·wps
恋猫de小郭17 分钟前
聊个比较有意思的 Flutter Web 问题
android·前端·flutter
IT_陈寒19 分钟前
Redis持久化配置漏了这一步,线上数据丢了5小时
前端·人工智能·后端
梦曦i22 分钟前
create-uni-app v1.2.0:交互体验优化
前端·uni-app
Moment24 分钟前
太好了!NestJS 12 大版本转向 ESM,新项目默认构建换 Rspack
前端·javascript·后端
Csvn28 分钟前
泛型与条件类型:TypeScript 类型体操的核心
前端
涛涛ing29 分钟前
一周之内,前端 AI 编程的格局被彻底改写了三次
前端·程序员
fxss32 分钟前
免费儿童学习网站
前端
Eiceblue1 小时前
如何构建一个纯前端 Word 转 Markdown 转换器(React + WebAssembly)
前端·react.js·word
平头哥~1 小时前
Day 15 | 不改一行 HTML,给页面加上引号、角标和标签
前端·javascript·css·html·css3·学习资料