给你的shell脚本写一个--help文档

生信媛 2021-04-24

栏目: 精品阅读 ·

来源: 生信媛

简介  这篇文章主要介绍了给你的shell脚本写一个--help文档以及相关的经验技巧,文章约9172字,浏览量466,点赞数1,值得参考!

我们来看看效果:

当我们输入-h或者--help时,弹出帮助文档。

给你的shell脚本写一个--help文档

当我们输入-v或者--version时,弹出版本信息:

给你的shell脚本写一个--help文档


而当正确输入参数-p/--path和-n/--name同时存在时,程序会根据参数新建一个目录:

给你的shell脚本写一个--help文档

给你的shell脚本写一个--help文档

可以看到新建的目录如下:

当参数有误时,给出报错信息:


下边是具体实现的代码:

#!/bin/bash

help()
{
   cat <<- EOF
  Desc: 用于新建文件夹目录
  Usage: ./mkdir.sh (-D 待分析文件路径) (-n 输出文件夹名称)
  Author: 阿秭
  程序选项如下:
   
   -h --help       打印本帮助文档并退出
   
   -v --version   打印本程序版本信息并退出
   
   -p --path       新建文件夹的所在路径
                   
   -n --name       文件夹名称

  License: 无
   
EOF
   exit 0
}

version_info()
{
cat <<- EOF
   mkdir.sh v1_20190318
   
EOF
   exit 0
}

echo
while [ -n "$1" ];do #这里通过判断$1是否存在
  case $1 in
   -p|--path) path=$2 # $2才是我们希望输出的参数
  shift 2;; # 将参数后移2个,进入下一个参数的判别
   -n|--name) name=$2
  shift 2;;
   -h|--help) help;; # function help is called
   -v|--version)version_info;;
   --) shift;break;; # end of options
   -*) echo "error: no such option $1."; exit 1;;
  *) break;;
   esac
done

if [ -n "$path" -o -n "$name" ];then
   mkdir -p "$path"/"$name"
   echo '你新建的目录为:'$path/$name
   echo
fi

将mkdir.sh变为可执行文件

chmod +x mkdir.sh


# 测试代码

./mkdir.sh -h
./mkdir.sh -v
./mkdir.sh -p ./data -n test

参考资料

  • 编写可接受选项和参数的shell脚本:https://blog.csdn.net/z1037561063/article/details/80410060

  • shell case语句及函数:https://blog.csdn.net/u010265663/article/details/71190713

  • 在Bash shell脚本编程中,如何正确无误获取到“脚本选项参数”和“脚本参数”呢?:https://blog.51cto.com/13791715/2153566

  • Shell脚本:命令选项参数处理:https://blog.csdn.net/hanlizhong85/article/details/78008845

  • 详解Linux shell命令帮助格式:https://blog.csdn.net/littlewhite1989/article/details/54425071

  • shell 编程 帮助功能的实现:https://blog.csdn.net/hejinjing_tom_com/article/details/79946427

  • linux shell 之if-------用if做判断:https://www.cnblogs.com/wangluochong/p/9207421.html



以上就是本文的全部内容,希望对大家的学习有所帮助,本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

相关文章

shell脚本实例

[shell]简单的shell提示和参数脚本

给你的PHP大马添加后门(黑吃黑)

shell整理(43)====shell脚本去重(示例代码)

shell编程(示例代码)

一个生产的shell脚本

恕我直言,你的shell脚本你根本没学好

你的shell脚本你根本没学好,赶紧来看看这些shell好书