首页 > 系统相关 >getopts解析shell脚本命令行参数

getopts解析shell脚本命令行参数

时间:2023-01-12 10:58:31浏览次数:43  
标签:选项 shell optstring getopts 命令行 input dir name

getopts命令格式

getopts optstring name [arg]
  • optstring为命令行所有选项组成的字符串,每个字母代表一个选项。如果字母后有冒号:,表明该选项需要选择参数。比如说,执行getopts时,匹配到了-i选项,则将-i相应的参数保存在内置变量OPTARG中。如果字母后无:,表明该选项不要指定值,仅有true/false之分。optstring起始的第一个冒号,则表示执行命令中出现optstring中没有的选项时忽略错误。
  • name为变量。每执行一次getopts,会获取执行命令行中的下一个选项。当执行命令的选项与optstring匹配时,将选项放在name中。否则,name被设置为?。
  • arg是选项和参数组成的列表。可选项,

代码示例

编写脚本test.sh

#!/bin/bash

while getopts ":i:o:b" i
do
        case ${i} in
                i) input_dir="$OPTARG";;
                o) out_dir="$OPTARG";;
                b) relax=true;;
        esac
done

echo $input_dir
echo $out_dir
echo $relax

执行test.sh结果

~/tmp$ bash test.sh -i ./input/ -o ./output/ -a -b
./input/
./output/
true

 

标签:选项,shell,optstring,getopts,命令行,input,dir,name
From: https://www.cnblogs.com/chaimy/p/17044513.html

相关文章

  • 静态Web服务器-命令行启动动态绑定端口号Python解释器详解实现代理池的API模块
    学习目标能够写出获取终端命令行参数动态绑定端口号的web服务器程序1.开发命令行启动动态绑定端口号的静态web服务器实现步骤:获取执行python程序的终端命令行参数判断参数......
  • 鸡肋的powershell后台任务
    背景:   需做一个这样小脚本:启动监控windows某个东西状态变化,用powershell启动可以,但使用cmdbat掉用无法生效。问题:做个简单实验:  如下一段最简单powershell......
  • linux xshell 命令上传下载文件
     有些堡垒机运维用xshell,但没xftp,使用xshell+命令上传文件rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具,所以要在Xshell连接属性中的设置上传协议为Zm......
  • Python程序执行shell命令并关闭进程-总结
    需求说明linux下,有时候我们用Python3执行一个shell命令,这会开启一个进程。但是这个进程可能能不会主动关闭(比如Linux下的ping指令会一直持续执行),我们希望这个进程执行指......
  • python读取cmd命令行
    importosimportuiautomationasautoimportwin32clipboardasclipboardimportwin32condefgetCopy():clipboard.OpenClipboard()res=clipboard.GetC......
  • Kubernetes(k8s) kubectl 命令行工具的使用
    kubectl是Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并且能够在集群上进行容器化应用的安装与部署。本文主要介绍Kubernetes(k8s)kubectl命令......
  • Shell要下载一个连接下的所有文件该怎么实现
    在安装某一个东西的时候,常常需要下载某个连接下的所有文件,比如:这个时候可以通过编写代码,或堆脚本来实现,但是wget这个工具可以非常巧妙的实现这个需求,wget--mirror-p......
  • error D8016 :/ZI”和“/Gy-”命令行选项不兼容解决方案
    场景   Debug模式下尝试调试海康ClentDemo例子,编译出错解决方案"C/C++"->“代码生成”->“启用函数集链接”->选择“是(/Gy)”......
  • powershell安装字体
    参考  Install-Fonts(powershellweekly.com)使用-File开关Install-Fonts-File“c:\Fonts\FontName.ttf”选择一个文件使用-Files开关安装字体-Files“c:\Fonts......
  • windows2012通过powershell安装远程组件技巧
    概要:通过服务器管理器安装远程桌面服务会报错一直没有办法解决之后了解到安装组件可以通过power命令安装 powershell命令说明https://docs.microsoft.com/en-us/wind......