博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell参数选项解析
阅读量:5119 次
发布时间:2019-06-13

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

两种shell选项参数解析工具

原理

  • test.sh
#!/bin/bashwhile [[ $# -ge 1 ]]; do    case $1 in        -a|--aa )            A=$2            echo "经过a"            shift 2            ;;        -b|--bb )            B=$2            echo "经过b"            shift 2            ;;        -c|--cc )            C="true"            echo "经过c"            shift            ;;        * )            echo "经过*:$1"            shift               ;;    esacdoneecho "A = $A"echo "B = $B"echo "C = $C"
  • 执行:sh test.sh --bb bbb -c -d -a aaa
经过b经过c经过*:-d经过aA = aaaB = bbbC = true
  • $# -ge 1:参数个数大于等于1

  • case esac语句
    • ;;:与其他语言中的break,但是此时不能省略贯穿后面,语法报错
    • *)*表示通配符,相当于其他语言的default未匹配项
  • shfit:位置参数左移命令
    • 例子:shift 3表示原来的$4现在变成$1,原来的$5现在变成$2,原来的$1$2$3丢弃,$0不移动,$#参数个数会减3。

转载于:https://www.cnblogs.com/leocll/p/11078260.html

你可能感兴趣的文章
[WinAPI] API 2 [MessageBox API][消息框API]
查看>>
BZOJ 1264 动态规划 + 树状数组
查看>>
[BZOJ5248] 2018九省联考 D1T1 一双木棋 | 博弈论 状压DP
查看>>
super 小记
查看>>
C语言实现<读取>和<写入> *.ini文件(转)
查看>>
【架构】Linux的架构(architecture)
查看>>
从解决Cocos2dx-2.x arm64 Crash 来看C的奇技淫巧
查看>>
ASM 图解
查看>>
几种常见的网站程序的数据库配置文件路径
查看>>
20反射、md5加密、以及日志模块logging(复习)
查看>>
15(os、random、sys、)(json、pickle )
查看>>
#python2和python3的区别汇总。
查看>>
17面向对象--三大特性
查看>>
23python多线程、多进程和锁相关
查看>>
2、django路由(urls)
查看>>
21网络编程(socket、黏包现象、socketserver模块)
查看>>
3、django视图的响应和模板的继承
查看>>
22网络基础:OSI7层模型和TCP握手挥手
查看>>
24 IO多路复用and异步非阻塞and协程
查看>>
[转载] 信息系统项目管理师视频教程——08 软件工程与软件过程改进
查看>>