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: 表示不带选项
相关推荐
少年姜太公4 小时前
什么?还不知道git cherry pick?
前端·javascript·git
白兰地空瓶5 小时前
🏒 前端 AI 应用实战:用 Vue3 + Coze,把宠物一键变成冰球运动员!
前端·vue.js·coze
Liu.7746 小时前
vue3使用vue3-print-nb打印
前端·javascript·vue.js
松涛和鸣7 小时前
Linux Makefile : From Basic Syntax to Multi-File Project Compilation
linux·运维·服务器·前端·windows·哈希算法
dly_blog7 小时前
Vue 逻辑复用的多种方案对比!
前端·javascript·vue.js
万少8 小时前
HarmonyOS6 接入分享,原来也是三分钟的事情
前端·harmonyos
烛阴8 小时前
C# 正则表达式:量词与锚点——从“.*”到精确匹配
前端·正则表达式·c#
wyzqhhhh8 小时前
京东啊啊啊啊啊
开发语言·前端·javascript
JIngJaneIL8 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
想学后端的前端工程师9 小时前
【Java集合框架深度解析:从入门到精通-后端技术栈】
前端·javascript·vue.js