简述:

当我们常用到某些指令时,我们就需要将这个命令进行封装。封装的设计和扩展,因人而异。但为了每个人都能够了解到这个命令,常需要写出这个类的help。

关键字:

函数、getopts

函数

通过自定义函数(可参阅:http://www.runoob.com/linux/linux-shell-func.html),能够实现过程操作、输入捕获(read)、输出获取(return)。

getopts

为了获取用户在命令下的参数,通过该命令来操作(可参阅:https://blog.csdn.net/xluren/article/details/17489667)。

用法:getopts option_string variable ,第一个参数option_string :命令参数的集合;第二个参数variable:输入的参数

对于参数集合,选项之间可以通过冒号“:”进行分隔,也可以直接相连接。如果参数前有“:”则表示选项后面必须带有值(可通过OPTARG获取),如果没有可以不加实际值进行传递

cat

cat << EOF  *** EOF  能够将***打印出来

实例:

 #!/bin/bash

 usage() {
cat <<EOF
usage: $ options OPTIONS:
-d 项目
-v 版本
-p 端口
EOF
} while getopts "hd:v:p:" OPTION
do
case $OPTION in
h) usage; exit ;;
d) project=$OPTARG ;;
v) version=$OPTARG ;;
p) port=$OPTARG ;;
?) usage; exit
esac
done if [[ -z ${project} || -z ${version} || -z ${version} ]]; then
echo "必须指定项目,版本,端口"
exit
fi cd `dirname $` cd ../${project} mkdir -p logs
if [[ -f logs/${project}.log ]]; then
pid=`lsof logs/${project}.log |tail - |awk '{print $2}'`
if [[ -n "$pid" ]]; then
echo "杀掉当前进程: $pid"
kill $pid
fi
else
echo "找不到logs/${project}.log"
fi

最新文章

  1. python+Eclipse+pydev环境搭建
  2. linux之PATH环境变量
  3. struts.xml配置
  4. mysql 有关的文件
  5. .net验证码生成及使用
  6. (C#)使用队列(Queue)解决简单的并发问题
  7. MongoDB基础之六 索引
  8. MyBatis记录
  9. [转载] 说说JSON和JSONP,也许你会豁然开朗
  10. JSP中的“小饼干”Cookie,用来存储数组的方式(下方已String类型的数组为例:)
  11. org.apache.commons.lang3.tuple.Pair 作为更新参数,XML 中的 Sql 取不到值、报错
  12. mongo Shell初体验
  13. 创建一个 Spring Boot 项目,你会几种方法?
  14. php正则表达式 剔除字符串中 ,除了汉字的字符(只保留汉字) php 正则 只保留汉字,剔除所有符号
  15. window.location.replace和window.location.href区别
  16. Xamarin.Android 使用ListView绑定数据
  17. 讲一讲Servlet和JSP的关系
  18. FS210(cortex-A8)移植MT7601无线WIFI模块
  19. exec可以用来执行语句的
  20. ASP.NET Core 2 学习笔记(七)路由

热门文章

  1. Ali-Tomcat在eclipse多开的解决方法
  2. PHP学习总结(13)——PHP入门篇之常量
  3. hdu 3714 三分
  4. 0622通过插件的方式来热安装sphinx
  5. 0301mysql数据库建表情况
  6. 洛谷 P3252 [JLOI2012]树
  7. jQuery Mobile中$.mobile.buttonMarkup方法使用具体解释
  8. [Cypress] Test React’s Controlled Input with Cypress Selector Playground
  9. 查找python项目依赖并生成requirements.txt——pipreqs 真是很好用啊
  10. Node.js:路由