博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
getopts shift 简单用法
阅读量:6670 次
发布时间:2019-06-25

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

1、getopts


myoption
#!/bin/bash
while getopts ":a 
b" SWITCH;do (
a前面的表示忽略系统报错信息)
case $SWITCH in
  a) echo "-a option" ;;
  b) echo "-b option" ;;
 \?) echo "Unknow option" ;;
 esac
done

./myoption -a
 
myoption
#!/bin/bash
while getopts ":a:b" SWITCH;do (a后的冒号
表示a后面可以添加参数,a前面的冒号表示忽略系
统的报错)
case $SWITCH in
  a) echo "-a option" 
     echo "$OPTARG"(OPTARG是getopts内置的
变量,后面可以跟参数) 
       ;;
  b) echo "-b option" ;;
 \?) echo "Unknow option" ;;
 esac
done

 
op.sh
read -p "a number" A
read -p "b number" B

while getopts ":admp" SW;do
 case $SW in
 a) echo "$[$A+$B]";;
 d) echo "$[$A/$B]";;
 m) echo "$[$A*$B]";;
 p) echo "$[$A-$B]";;
\?) echo "unknow opreation";;
 esac
./op.sh -a
./op.sh -d

OPTIND 是索引指针 在选项中一次移动一个参数
OPTARG 当OPTIND处在一个特定的选项的时候可以
调用后面的参数
OPTING 指向一个参数

2、shift
shift 2 踢掉二个
./my.sh -a -b -c -d ss -e myfile
shift 5 $[OPTIND-1]  踢掉五个参数,引用
myfile
shift
 
a.sh
 

 

 
./a.sh a b
a
b
shift 一次踢去一个
 
本文转自 张玉坡 51CTO博客,原文链接:http://blog.51cto.com/fighter/470024

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

你可能感兴趣的文章