Shell处理用户输入参数----getopts

简介:

 特殊变量提醒:

   $# 记录命令行参数个数

   $* 保存所有参数,并当做单个单词保存

   $@ 保存所有参数,当做同一个字符串中的多个独立的单词

   getopts 命令格式:

   getopts optstring variable

   有效字母都会列在optstring中,当前参数保存在 variable中

   示例:

   
#!/bin/bash
while  getopts  :ab:c  opt
do
    case  "$opt" in 
        a)
            echo  "Found the -a option";;
        b)
            echo  "Found the -b option,wiht value  $OPTARG";;
        c)
            echo  "FOund the -c option";;
        *)
            echo  "Unknown option :$opt";;
esac
done

   测试

# sh test.sh  -a -b test -c
Found the -a option
Found the -b option,wiht value  test
FOund the -c option 
# sh test.sh  -d
Unknown option :?

    选项字母要求有参数值的时候,在其后加一个冒号;

    去掉错误消息的话,在optstring之前加一个冒号;

    $OPTARG会保存参数值






本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1118695,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
存储 缓存 Linux
【Shell 命令集合 磁盘维护 】Linux 设置和查看硬盘驱动器参数 hdparm命令使用教程
【Shell 命令集合 磁盘维护 】Linux 设置和查看硬盘驱动器参数 hdparm命令使用教程
144 0
|
11月前
|
机器学习/深度学习 Shell
Shell 传递参数
Shell 传递参数
71 0
|
SQL 分布式计算 Hadoop
55 Hive Shell参数
55 Hive Shell参数
55 0
|
3月前
|
Shell
[shell]在curl测试的data参数中引用变量
[shell]在curl测试的data参数中引用变量
203 1
|
6月前
|
存储 弹性计算 运维
调整虚拟机内存参数的 shell 脚本
【4月更文挑战第29天】
75 2
|
6月前
|
存储 弹性计算 运维
调整虚拟机内存参数的shell 脚本
【4月更文挑战第29天】
65 0
|
6月前
|
编解码 Linux Shell
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
100 0
|
6月前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】Linux 将参数作为命令行输入 eval命令 使用指南
【Shell 命令集合 系统设置 】Linux 将参数作为命令行输入 eval命令 使用指南
100 0
|
6月前
|
存储 Shell
Shell变量和参数
Shell变量和参数
37 3
|
6月前
|
Shell
shell变量和参数
shell变量和参数
55 1