博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell 中 getopts 示例用法
阅读量:2492 次
发布时间:2019-05-11

本文共 1267 字,大约阅读时间需要 4 分钟。

1、用法

getopts 可以获取用户在命令下的参数,然后根据参数进行不同的提示或者不同的执行。

它的用法是:

getopts option_string variable

getopts一共有两个参数, option_string 是类似于-a这样的选项,variable 是 hello这样的参数。

各个选项之间可以通过冒号 : 进行分隔,也可以直接相连接, 表示选项后面必须带有参数,如果没有可以不加实际值进行传递。

也就是说后面没有接 的可以不带参数,也可以带参数;而带有 必须带参数,否则会报错 (此时可以在改选项前面添加 ,在没有添加参数时就不会报错了)。

2、示例

[root@yanta test] # cat opt_test.sh#!/bin/bash# Name: /home/yanta/test/opt_test.sh# Author: Yanta# Dsc: Test use of 
Usage(){ echo "USAGE: /bin/bash /home/yanta/test/opt_test.sh < -a LowerName > < -h >"}Test(){ while getopts "a:h" opt do case $opt in a) echo "My LowerName is $OPTARG" ;; h) Usage ;; esac done }main(){ [ $# -lt 1 ] && { Usage exit -1 } Test $*}main $*

运行结果:

[root@yanta test] # ./opt_test.shUSAGE: /bin/bash /home/yanta/test/opt_test.sh < -a LowerName > < -h >[root@yanta test] # ./opt_test.sh -hUSAGE: /bin/bash /home/yanta/test/opt_test.sh < -a LowerName > < -h >[root@yanta test] # ./opt_test.sh -h help USAGE: /bin/bash /home/yanta/test/opt_test.sh < -a LowerName > < -h >[root@yanta test] # ./opt_test.sh -a yantaMy LowerName is yanta[root@yanta test] # ./opt_test.sh -a  # 选项后接有 : 时, 不添加第二个参数会报错./opt_test.sh: option requires an argument -- a

转载地址:http://sworb.baihongyu.com/

你可能感兴趣的文章
docker原始镜像启动容器并创建Apache服务器实现反向代理
查看>>
docker容器秒死的解决办法
查看>>
管理网&业务网的一些笔记
查看>>
openstack报错解决一
查看>>
openstack报错解决二
查看>>
linux source命令
查看>>
openstack报错解决三
查看>>
乙未年年终总结
查看>>
子网掩码
查看>>
第一天上班没精神
查看>>
启动eclipse报错:Failed to load the JNI shared library
查看>>
eclipse安装插件的两种方式在线和离线
查看>>
linux下源的相关笔记(suse)
查看>>
linux系统分区文件系统划分札记
查看>>
Linux(SUSE 12)安装Tomcat
查看>>
Linux(SUSE 12)安装jboss4并实现远程访问
查看>>
Neutron在给虚拟机分配网络时,底层是如何实现的?
查看>>
netfilter/iptables全攻略
查看>>
Overlay之VXLAN架构
查看>>
Eclipse : An error occurred while filtering resources(Maven错误提示)
查看>>