/bin/bashecho 初始 OPTIND: $OPTINDwhile getopts "a:b:c" arg #选项后面的冒号表示该选项需要参数docase$argina)echo"a's arg:$OPTARG"#参数存在$OPTARG中;;b)echo"b's arg:$OPTARG";;c)echo"c's arg:$OPTARG";;?)#当有不认识的选项的时候arg为?echo"unkonw argument"exit1;;esacdoneecho 处理...
1. getopts是bash内建命令的, 而getopt是外部命令 2. getopts不支持长选项, 比如: --date 3. 在使用getopt的时候, 每处理完一个位置参数后都需要自己shift来跳到下一个位置, getopts只需要在最后使用shift $(($OPTIND - 1))来跳到parameter的位置。 4. 使用getopt时, 在命令行输入的位置参数是什么, 在ge...
-b|--b-long) echo"Option b, argument \`$2'"; shift2;; -c|--c-long) # c has an optional argument. As we areinquoted mode, # an empty parameter will be generatedifits optional # argumentisnot found. case"$2"in "") echo"Option c, no argument"; shift2;; *) echo"Option c...
-b|--b-long) echo "Option b, argument \`$2'" ; shift 2 ;; -c|--c-long) # c has an optional argument. As we are in quoted mode, # an empty parameter will be generated if its optional # argument is not found. case "$2" in "") echo "Option c, no argument"; shift 2 ...
使用getopts非常简单: 代码 #test.sh #!/bin/bash while getopts "a:bc" arg #选项后面的冒号表示该选项需要参数do case $arg in a) echo "a's arg:$OPTARG" #参数存在$OPTARG中 ;; b) echo "b" ;; c) echo "c" ;; ) #当有不认识的选项的时候arg为? echo "unkonw argument" exit 1 ;; ...
/bin/bashecho 初始OPTIND:$OPTINDwhilegetopts"a:b:c"arg #选项后面的冒号表示该选项需要参数docase$argina)echo"a's arg:$OPTARG"#参数存在$OPTARG中;;b)echo"b's arg:$OPTARG";;c)echo"c's arg:$OPTARG";;?)#当有不认识的选项的时候arg为?echo"unkonw argument"exit1;;esac...
bash getopts 开始的时候,我只试着处理传递给脚本的命令行参数。***,我添加了另外一些有用的功能函数,使得这个脚本可以成为其他任何交互式脚本处理命令行的开始模板。我还添加了一个纯文本格式的帮助函数,让脚本更加容易阅读。 与其来一长段文字解释 getopts 在bash中是如何工作的,我认为不如直接来一个能工作的脚本...
bash shell脚本处理传参,getopts的使用 参数处理-Shell传入参数的处理 1. $# 传递到脚本的参数个数 2. $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个 3. $$ 脚本运行的当前进程ID号 4. $! 后台运行的最后一个进程的进程ID号...
while getopts "a:bc" arg do case $arg in a) #参数存在$OPTARG中 echo "a's arg:$OPTARG" ;; b) echo "b" ;; c) echo "c" ;; ?) #当有不认识的选项的时候arg为? echo "unkonw argument" exit 1 ;; esac done 现在就可以使用:./test.sh -a arg -b -c 或./test.sh -a arg -...
echo"Last line of file specified as non-opt/last argument:" tail -1"$1" fi 2. 使用等号分隔 使用等号作为参数分隔 实际用法 ./my.sh -e=conf -s=/etc -l=/usr/lib /etc/hosts 实现脚本 #!/bin/bash forkeyin"$@";do case$keyin ...