给你的shell脚本写一个--help文档
Posted 生信媛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给你的shell脚本写一个--help文档相关的知识,希望对你有一定的参考价值。
我们来看看效果:
当我们输入-h或者--help时,弹出帮助文档。
当我们输入-v或者--version时,弹出版本信息:
而当正确输入参数-p/--path和-n/--name同时存在时,程序会根据参数新建一个目录:
可以看到新建的目录如下:
当参数有误时,给出报错信息:
下边是具体实现的代码:
#!/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
以上是关于给你的shell脚本写一个--help文档的主要内容,如果未能解决你的问题,请参考以下文章