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: 表示不带选项
相关推荐
AI+程序员在路上3 分钟前
linux中bash与sh脚本区别
linux·运维·bash
梦想的旅途24 分钟前
企业微信消息回调开发指南:如何实时接收并处理企微消息?
前端·机器人·自动化·企业微信
何中应5 分钟前
CentOS7安装高版本Node.js
前端·centos·node.js
じ星不离月か6 分钟前
【记录】 跑马灯无限滚动
前端·css·跑马灯·无限滚动
周淳APP6 分钟前
【HTTP1、HTTP2、HTTP3】
前端·网络·网络协议·http
路弥行至6 分钟前
linux运行脚本出现错误信息 /bin/bash^M: bad interpreter解决方法
linux·运维·开发语言·经验分享·笔记·其他·bash
夫唯不争,故无尤也10 分钟前
原始文档元数据metadata
java·前端·javascript·sql
恋猫de小郭12 分钟前
Flutter 3.41 iOS 键盘负优化:一个代码洁癖引发的负优化
android·前端·flutter
胡楚昊14 分钟前
XSS LAB通关笔记(1-16)
前端·笔记·xss
新晨43714 分钟前
cursor轻松实现代码搬迁
前端·ai编程·cursor