一个简单的自动创建Shell脚本的脚本

因为自己平时会写一些小实验脚本,每次都要写Author,Description等很麻烦,便写了这么一个能够自行创建脚本的小脚本,代码如下,纯个人原创,比较粗糙,大神勿喷

#!/bin/bash
#
VER=0
AUT=0
TIM=0
DES=1
if [ $# -lt 1 ];then
        echo "`basename $0` : -a|--author|-t|-d|-v|-f|--file /PATH/TO/FILE|-h"
        exit 3
fi
while [ $# -ge 1 ];do
case $1 in
-v|--version)
        VER=1
        shift
        ;;
-h|--help)
        echo "`basename $0` : -a|--author|-t|-d|-v|-f|--file /PATH/TO/FILE|-h"
        exit 0
        ;;
-a|--author)
        AUT=1
        shift
        ;;
-t|--time)
        TIM=1
        shift 1
        ;;
-d|--description)
        DES=1
        shift 1
        ;;
-f|--file)
        FIL=1
        FILEPATH=$2
        shift 2
        ;;
*)
        echo "`basename $0` : -a|--author|-t|-d|-v|-f|--file /PATH/TO/FILE|-h"
        exit 8
esac
done
if [ $DES -eq 1 ];then
        read -p "Please input the scripts description:" DESCRIPTION
fi
if [ $FIL -eq 1 ];then
   if [ -e $FILEPATH ]&>/dev/null;then
        echo “The file exists.”
        exit 8
else
DIRNAME=`dirname $FILEPATH`
[ ! -e $DIRNAME ] && mkdir $DIRNAME
   fi
        echo ‘#!/bin/bash‘>>$FILEPATH
fi
        [ $AUT -eq 1 ] && echo "# Author:soy sauce" >> $FILEPATH
        [ $TIM -eq 1 ] && echo "# Date:`date +%F` `date +%H:%S`" >> $FILEPATH
        echo "# Description:$DESCRIPTION" >> $FILEPATH
        [ $VER -eq 1 ] && echo "# Version 1.0" >> $FILEPATH

使用说明:

1.在/usr/bin/下建立一个名称为mkscript的文件,然后把代码贴入其中,保存退出

2.给脚本添加执行权限 chmod +x /usr/bin/mkscript

ps:一般添加执行权限就可以直接运行,如果找不到该命令,则检查本地PATH环境变量

3.命令使用语法规则:

mkscript --help

mkscript : -a|–author|-t|-d|-v|-f|–file /PATH/TO/FILE|-h

eg:mkscript -a -t -d -v -f ./back.sh

时间: 2024-10-05 18:53:48

一个简单的自动创建Shell脚本的脚本的相关文章

一个简单的自动创建分区存储过程

1 CREATE OR REPLACE PROCEDURE PRO_DEL_ADD_PARTITION 2 AS 3 /*************************************************** 4 ** 功能:按日添加本月的分区 5 ** 创建者:sfit1053 6 ** 创建时间:20150825 7 ****************************************************/ 8 l_from_date DATE; -- 存放循环

从一个简单的约束看规范性的SQL脚本对数据库运维的影响

原文:从一个简单的约束看规范性的SQL脚本对数据库运维的影响 之前提到了约束的一些特点,看起来也没什么大不了的问题,http://www.cnblogs.com/wy123/p/7350265.html以下以实际生产运维中遇到的一个问题来说明规范的重要性. 如下是一个简单的建表脚本,表面上看起来并没有什么问题.其中创建了3个约束,一个主键约束,一个唯一约束,一个默认值约束,该脚本执行起来没有任何问题. USE Test GO if exists(select 1 from sys.tables

阿里微服务专家手写Spring Boot 实现一个简单的自动配置模块

为了更好的理解 Spring Boot 的 自动配置和工作原理,我们自己来实现一个简单的自动配置模块. 假设,现在项目需要一个功能,需要自动记录项目发布者的相关信息,我们如何通过 Spring Boot 的自动配置,更好的实现功能呢? 实战的开端 – Maven搭建 先创建一个Maven项目,我来手动配置下 POM 文件. 参数的配置 - 属性参数类 首先,我们定义一个自定义前缀,叫做 custom 吧.之前说到,这里的配置参数,可以通过 application.properties 中直接设置

一个简单的监控redis性能的python脚本

一个简单的监控redis性能的python脚本 上一篇已经讲了如何监控memcached了,现在也顺带讲如何监控redis. 首先介绍下监控redis那些信息: Redis ping:检验ping Redis alive:查看检查端口是否alive Redis connections:查看连接数 Redis blockedClients:正在等待阻塞客户端数量 Redis connectionsUsage:redis的连接使用率 Redis memoryUsage:redis内存使用量 Redi

线上一个简单检测Ping状态的邮件报警脚本

Step1.安装sendmail来发邮件 # yum -y install sendmail # /etc/init.d/sendmail start # chkconfig sendmail on Step2.安装邮件客户端 # yum -y install mutt 2.1添加发件人信息,如下 # vim /etc/Muttrc set charset="utf-8"           #设置发邮件编码 set envelope_from=yes set rfc2047_para

【Linux】一个简单的线程创建和同步的例子

最近很多精力在Linux上,今天简单看了一下Linux上的线程和同步,其实不管windows还是Linux,OS层面的很多原理和概念都是相同的,很多windows之上的经验和概念完全可以移植到Linux上. 今天用到了创建线程和一个阻塞式的线程同步函数. 用到的几个函数 #include <pthread.h> //创建线程 int pthread_create( pthread_t* thread, /*线程标ID, pthread_t pthread_self(void) 可获取当前线程I

AngularJS 创建一个简单可交互的控件(一)

这几天开始学习Angular这个MVC框架, 边看官网文档和youtube视频边做实例, 现在整理下自己的学习所得与大家分享, 也希望有Angular的大牛们来指教和探讨. 我们设想一个最基本的Web应用场景: 从服务器获取数据,通过这些数据来动态渲染我们的页面. 假设我们目前需要获取一组团队所有成员的信息并且显示, 团队成员的信息有成员名字, 年龄. (示例的控件在页面上的截图) 首先我们需要为我们所需要渲染的页面写一个简单的模板: 创建这个控件的时候我使用的是flatui所设计的扩展boot

bat文件自动创建cocos2dx 工程

1. 写在开头 本人写了一个自动创建cocos2dx工程的脚本..bat文件,会修正Application.mk 文件,并且在桌面创建打开项目目录的快捷方式. 使用条件:1. 在本地计算机中已安装python 2.7.6 版本,并将python安装目录加入到 PATH环境变量中. 2. 根据自己的cocos2dx与ndk安装目录,更改脚本最初COCOS2DX_DIR.NDK_DIR变量. 3.本脚本只创建c++语言的cocos2dx工程,创建成功后仍需手动配置c++ build目录. 个人写的脚

Kubernetes数据持久化之Storage Class(存储类)及自动创建PV

通过博文Kubernetes的存储之Volume可以了解到Kubernets实现数据持久化的流程为:搭建NFS底层存储-->创建PV-->创建PVC-->创建pod最终将pod中的container实现数据的持久化! 从上述流程中,看似没有什么问题,但是仔细研究就会发现:PVC在向PV申请存储空间时,是根据指定PV的名称.访问模式.容量大小来决定具体向哪个PV申请空间的. 打比方说:如果PV的容量是20G,定义的访问模式是WRO(只允许以读写的方式挂载到单个节点),而PVC申请的存储空间