当前位置:   article > 正文

【Linux】Shell命令 getopts/getopt用法详解_shell getopts长命令

shell getopts长命令

Shell命令行参数解析getopts/getopt用法详解

在Linux bash中,可以用以下三种方式解析命令行参数:

  • 直接处理:使用$1,$2,$3…进行解析
  • getopts: 单个字符选项的情况,例如:-n 10 -f file.txt等选项
  • getopt:处理单个字符或长选项(long-option),例如:–prefix=/home等
    经验:小型脚本可以直接处理,大多数情况使用getopts,getopt的功能更加强大。

1.直接处理

Linux shell中常见的几种变量的说明:

$0   #即命令本身,相当于c/c++中的argv[0]
$1   #第一个参数
$2, $3, $4 ...   #第2、3、4个参数,依次类推
$#   #参数的个数,不包括命令本身
$@   #参数本身的列表,不包括命令本身
$*   #和$@相同,但"$*"和"$@"(加引号)并不同,
     #"$*"将所有的参数解释成一个字符串,而"$@"是一个参数数组
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.getopts

Tips

  • getopts时bash的内部命令
  • getopts有两个参数,第一个参数是一个字符串,包括字符和“:”
  • 每一个字符都是一个有效选项(option),如果字符后面带有“:”,表示这个选项有自己的argument,argument保存在内置变量OPTARG中
  • $OPTARG总是存储原始$*中下一个要处理的元素位置
  • 对于while getopts “
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/811981
推荐阅读
相关标签