while [[ $1 = -* ]]是啥意思
其实没有那么复杂,while ]; do 意思是参数1等于-a的时候进入循环
while ]; do 意思是只要参数等于以-开头的字符串即可
shift即将参数顺序向前移动,第二个参数变为第一个参数
最终ACTION的值是第一个不是以-开头的字符串
■网友]# 这是一个字符串判断语句,和下面这个等价]# 都属于 pattern matching 类型的
【while [[ $1 = -* ]]是啥意思】 平常我们看到的判断语句类似这样,它用一个中括号。大概可以理解为这是一种老的比较语法if ; then echo "hello world"fiif ; then echo "yes"fi
更详细的参考:http://mywiki.wooledge.org/BashFAQ/031
■网友
不太懂Shell编程,猜测是遍历命令行的所有参数,如果发现 -d 参数,就设置变量DEBUG=1。估计后面还有代码检查DEBUG变量,如果是1则输出调试信息吧。
维护这种晦涩难懂的东西太累,还是换python吧。
■网友
匹配-开头的参数,然后取参数的值。不过我觉得用getopt或getopts命令获取参数更好一些。
推荐阅读
- SUV|小道消息传大众将在美国和欧洲停售帕萨特,这是几个意思?
- 水果|水果太甜,糖尿病患者都不能吃?这3种水果,其实升糖能力不高
- 三本的物联网工程有出路吗
- 车祸违驾|为什么交警在查车时,会用手摸一下车尾,你知道是什么意思吗?
- 妇科病|医生提醒女性:体检时查出3种妇科病,其实不治也可以,别受骗了
- 你最希望看到的人民币头像是谁
- 胶原蛋白|吃猪蹄能补充胶原蛋白?医生:其实效果远不如这2种食物来得好
- 雪佛兰|1.5T+9AT动力归来,迈锐宝XL你怎么选?
- 想做网站没有想法(不是技术的问题)
- 有车以后|配透明发光中网,预计夜晚超骚!斯柯达新车投产,有意思