开发者

How do you use getopts?

开发者 https://www.devze.com 2023-04-11 04:23 出处:网络
what is the easiest, most straight forward, way to use getopts in bash script. if i have a script called: myscript and it CAN take the the arguments: -p -r -s -x

what is the easiest, most straight forward, way to use getopts in bash script.

if i have a script called: myscript and it CAN take the the arguments: -p -r -s -x

if argument x then exit
if argument p then echo "port 10"
if argument s then add 2+2
if argument r then echo env 

This is a 开发者_JAVA技巧hypothetical script but I would just like to see an example of how this would be done.


while getopts :xpsr opt; do
   case $opt in
     x ) exit                                ;;
     p ) echo port 10                        ;;
     s ) (( 2 + 2 ))                         ;;
     r ) echo env                            ;;
    \? ) echo "${0##*/}" [ -xpsr ]; exit 1   ;;
  esac
done


usage()
{
    echo "Usage: $0 [-o <offset>] [-h];"
    exit 0;
}

# -o (offset) need a value
# -h prints help
offset=0    # 0 is default offset

while getopts o:s opt
do
    case "$opt" in
    d)  offset="$OPTARG";; # changing offset
    s)  usage              # calls function "usage"
    \?) echo "$OPTARG is an unknown option"
        exit 1;; # all other options
    esac
done

shift $((OPTIND-1))
0

精彩评论

暂无评论...
验证码 换一张
取 消