当前位置: 首页 > news >正文

广州智能模板建站做网站的是什么工程师

广州智能模板建站,做网站的是什么工程师,正规大宗商品交易平台,品牌查询网站省流#xff1a;shift关键字 探索思路 最近有一个小小的需求#xff0c;写一个类似于docker run -a -b -c这样的脚本#xff0c;这个脚本名为doline#xff0c;它本身可以执行#xff08;doline -a -b -c#xff09;#xff0c;同时又带有几个如run、init、start这样的… 省流shift关键字 探索思路 最近有一个小小的需求写一个类似于docker run -a -b -c这样的脚本这个脚本名为doline它本身可以执行doline -a -b -c同时又带有几个如run、init、start这样的参数感觉有点说不明白以下是几种场景 doline -a -b -c # 直接传参使用 doline -h # 查看帮助文档 doline init -a -b -c # 初始化一些参数再次执行时可以不带初始化的参数 doline init -h # 查看关于init的帮助文档 doline run -a -b -c # ....有多个类似于init、run这样的二级命令我之前在【Shell 脚本传递参数的两种方式位置传参与指令式传参】中详细介绍了Shell的两种传参方式因此我基于这两种方式开始探索并有了初步的想法实操之后发现并不可以。 首先使用最简单的位置传参判断$1的值是不是init、run这样的参数如果不是的话直接getopts如果是的话就在init下面再进行一次getopts并且在init的结尾进行exit。 伪代码大概如下 ## 如果是 doline init -a 123 -b 123 -c 123 就执行下面的代码 if [ $1 init ] ; thenwhile getopts :a:b:c:h optdocase $opt ina)....;;?)echo 未知参数;exit 1;;;esacdoneexit 0; fi## 如果是 doline -a 123 -b 123 -c 123 就执行下面的代码 while getopts :a:b:c:h opt docase $opt ina)....;;?)echo 未知参数;exit 1;;;esac done但是实操之后失败了如果是直接doline -a -b -c是可以的但是doline init的话就全部执行失败我在代码起始的位置输出所有的参数echo $*参数是init -a -b -c这样的话init也占了一个位置后面的所有参数都对不上位置了显然是不行的但是逻辑上是可以的。 成功案例 这时候就要想办法比如是否有其他的参数获取方式或者如何在判断是init之后给init这个参数删除掉呢经过一番查找找到了一个十分关键的关键词shift切换。 shift 的原理 如果你输入的参数是init -a -b -c在读取init之后进行shift参数列表就变为-a -b -c这个时候就能对应上了。 这个时候只需要对上面的内容稍加改在在判断第一个参数是init之后立刻进行shift就可以了更改后的脚本如下 if [ $1 init ] ; thenshift; # 重读取过的$1之后开始判断命令while getopts :a:b:c:h optdocase $opt ina)....;;?)echo 未知参数;exit 1;;;esacdoneexit 0; fi## 如果是 doline -a 123 -b 123 -c 123 就执行下面的代码 while getopts :a:b:c:h opt docase $opt ina)....;;?)echo 未知参数;exit 1;;;esac done以上代码在判断第一个参数是init之后会立刻进行shift后面的内容就会一一对应起来了。 简单验证 写个简单的脚本验证一下 #!/bin/bashif [ $1 init ] ; then echo $* ;exit 0; fiif [ $1 run ] ; thenshift; ## SHIFT 在这里echo $*;exit 0; fi期望输出 执行./testShift init -a -b -c输出init -a -b -c 执行./testShift run -a -b -c输出-a -b -c 验证成功 参考 Tomcat 启动脚本
http://www.w-s-a.com/news/140249/

相关文章:

  • 房屋备案查询系统官网杭州排名优化软件
  • 网站地图html网络营销的流程和方法
  • 注册好网站以后怎么做wordpress 获取插件目录下
  • 南京做网站dmooo地方网站需要什么手续
  • 网站开发合同有效期omeka wordpress对比
  • 杭州设计网站的公司广州网站改版领军企业
  • 网站备案系统苏州网站设计网站开发公司
  • 怎么样做微网站著名企业vi设计
  • 三分钟做网站网页设计心得体会100字
  • 网站建设支付宝seo建站是什么
  • 常州做网站的 武进学雷锋_做美德少年网站
  • 怎样建网站赚钱贵州seo和网络推广
  • 创建网站的工具站内seo优化
  • 网站特效 站长查询网网站
  • 百度移动端网站网站建设设计思想
  • 青岛建设官方网站南宁制作企业网站
  • 校园网站建设管理工作制度大网站开发费用
  • 做logo赚钱的网站分类网站 模板
  • 网站建设完成报告织梦网站怎么做备份
  • 邯郸市城乡建设管理局网站vimwiki wordpress
  • 如何修改wordpress站名如何制作公司网站
  • 宁波网站建设与推广方案网站有了备案号之后能做什么
  • 汕头手机端建站模板pinterest app下载
  • 网站主机免费宁波网站建设优化诊断
  • 吧网站做软件的软件下载简单的ui界面制作
  • 陕西网站制作公司网页制作与设计代码
  • 做网站行情郑州微信网站开发
  • 河间网站建设制作null wordpress theme
  • h5网站制作网站开发网站建设文翻译工作
  • 网站建设 税种秦皇岛哪有网站优化公司