什么是 docopt

docopt是一种python 编写的命令行执行脚本的交互语言。

它是一种语言!

它是一种语言!

它是一种语言!

使用这种语言可以在自己的脚本中,添加一些规则限制,这样脚本在执行的时候就必须按照这种格式来执行,同时,也可以很方便的编写一些帮助信息(其实就是很多软件在输入-h时候显示的信息,例如php -h会显示所有 php的执行指令,并且也通过docopt限制了php 指令的格式),下面将会有一些简单的例子。

docopt的安装

docopt有很多种版本,分别支持不同的语言,最简答的docopt支持python脚本,docopt.java支持java脚本,docopts则是支持shell脚本的(下面的例子主要以docopts为例),具体的可以参见github的docopt说明

安装docopt

以mac os x为例安装,安装docopts前首先需要安装docopt,有两种安装方法

方法一

比较简单的方法是直接用 pip 安装, pip install docopt==0.6.2

有些mac可能不支持直接pip 指令,需要先安装pip

方法二

也可以在github上下载源码(docopt是开源项目),然后通过python setup.py install 安装

安装docopts

安装docopts就必须使用上面安装docopt的方法二,在GitHub上下载源码,然后 使用python安装,下载地址

docopts的使用

好了,现在可以在我们的shell脚本中使用docopt编辑一些自己的规则了,例如在下面这个脚本例子中


eval "$(docopts -V - -h - : "$@" <<EOF Usage:
./test.sh wel
./test.sh bye Options:
wel welcome.
bye say goodbye.
----
EOF
)" if $wel ; then
echo "welcome"
fi if $bye ; then
echo "goodbye"
fi

这个test.sh脚本,在执行的时候 ./test.sh -h 可以看到帮助说明,并且这种定了了该脚本执行只能是wel 和 bye两种参数格式

docopt还有很多种定义命令执行方式的语法,详细的参见docopt语法介绍

最新文章

  1. 白皮 Chapter 1
  2. WP7应用版本升级的实现方法
  3. linux ubuntu卸载软件
  4. 让你系统认识flume及安装和使用flume1.5传输数据到hadoop2.2
  5. 第二篇:从 GPU 的角度理解并行计算
  6. JavaScript之将JS代码放在什么位置最合适
  7. 可视化之Berkeley Earth
  8. 在commons-lang3包中StringUtils类的ordinalIndexOf中有一个错误
  9. Python_替换当前目录下文件类型
  10. if选择语句与switch选择语句的比较、区别及应用场景
  11. mlock实现原理及应用【转】
  12. Ubuntu16.04安装
  13. 多线程通信(wait和notify)
  14. Python + 百度Api 通过地址关键字获得格式化的地址信息
  15. 《图说VR入门》——googleVR入门代码分析
  16. C#打印类
  17. FreeRTOS系列第17篇---FreeRTOS队列
  18. MVC页面加载会多次请求后台问题
  19. Python 字典初始化dict()和{}
  20. Azure VM开启资源监控

热门文章

  1. R-aggregate()
  2. [CSP-S模拟测试]:A(数学)
  3. C++入门经典-例6.23-字符串数组赋值与string
  4. (十七)C语言之变量
  5. word 之 插入删除空行
  6. Linux 解压小全
  7. vue中如何刷新页面
  8. Vue-1:鄙人是如何开始学习的
  9. HTML页面间传值
  10. Vue avoid mutating a prop directly since the value will be overwritten