经典实用的自动创建Bash脚本文件头的脚本

今天给大家展示一下,我自己写的一个自动创建Bash脚本文件头的脚本(名为create),希望能对初学脚本者带来一定的思维提示。毕竟对于一个经常写脚本的运维人员来说,每次写脚本的时候都需要重复的去写一遍文件头,也是一件很累赘的事情,既然我们学了脚本,为什么不让它来为我们减轻一下负担了。所以一个自动创建Bash脚本文件头的想法在我脑海里面产生了。

本脚本所需要实现的功能:

   1,能够自动创建一个标准的Bash脚本文件头,带有详细注释信息

   2,能够给新建完成的Bash脚本文件自动添加执行权限

[root@centos7 test]# echo $PATH
 .:/test:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
[root@centos7 test]# ll create
-rwxr-xr-x. 1 root root 435 Aug 8 08:05 create
[root@centos7 test]# cat create
#!/bin/bash         create脚本本身的文件头
 
#Author:lovefirewall
#Version:1.0
#Create time:2016-08-08 08:08:08
#Description:This script is used to create the file head for a new bash script
 
[ $# -ne 1 ] && echo -e "This script is used to create the file head for a new bash script;\nYou must bring a parameter as the prefix of the new script name." && exit 2        判断用户是否给了新文件名的前缀作为create脚本的参数 
echo -e "#!/bin/bash\n\n#Author:lovefirewall\n#Version:1.0\n#Create time:`date '+%F %T'`\n#Description:" >$1.sh        自动创建脚本文件头的正文
chmod +x $1.sh        为新创建的脚本文件添加执行权限
echo -e "\033[31m$1.sh creation success!\033[0m"        红色字体提示新脚本头文件创建成功
[root@centos7 test]# create        没有带参数,发出强制用户带参数的提示
This script is used to create the file head for a new bash script;
You must bring a parameter as the prefix of the new script name.
[root@centos7 test]# echo $?        查看不带参数执行失败的退出码(验证与脚本代码是否一致)
2
[root@centos7 test]# create test
test.sh creation success!        直接带上参数运行,新脚本创建成功
[root@centos7 test]# ll test.sh
-rwxr-xr-x. 1 root root 89 Aug 8 08:30 test.sh    验证新创建的脚本有没有自动添加执行权限
[root@centos7 test]# cat test.sh
#!/bin/bash        验证新创建的脚本的文件头格式是否标准

#Author:lovefirewall                            
#Version:1.0
#Create time:2016-08-08 08:30:10
#Description:
[root@centos7 test]#

wKioL1euel6Sxy1ZAAA3gRmquow809.png

创建成功后红色字体提示,查看所创建的新脚本的文件头已经比较完善,打开后补上一个当前脚本的具体描述后,就可以直接开始编辑脚本正文了。是不是也就为我们辛苦的运维工程师们节省了一些写脚本文件文件头的时间了。

脚本正文代码,方便想用的朋友:

#!/bin/bash

 

#Author:lovefirewall
#Version:1.0
#Create time:2016-08-08 08:08:08
#Description:

 

[ $# -ne 1 ] && echo -e "This script is used to create the file head for a new bash script;\nYou must bring a parameter as the prefix of the new script name." && exit 2

echo -e "#!/bin/bash\n\n#Author:wangjun\n#Version:1.0\n#Create time:`date '+%F %T'`\n#Description:" >$1.sh
chmod +x $1.sh
echo -e "\033[31m$1.sh creation success!\033[0m"

本文出自 “爱情防火墙” 博客,请务必保留此出处http://183530300.blog.51cto.com/894387/1837018

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

Redis集群解决方案-Codis - 2016-09-05 17:09:33

Codis由豌豆荚于2014年11月开源,基于go和c开发,是近期涌现的、国人开发的优秀开源软件之一,稳定性极高,性能更是改善了很多。 Codis由四部分组成: codis-proxy:codis-proxy是客户端连接的Redis代理服务,codis-proxy本身实现了Redis协议,表现得和一个原生Redis没什么区别,对于一个业务来说,可以部署多个codis-proxy,codis-proxy本身是无状态的 codis-config:codis-config是Codis的管理工具,支持添加/删除R
grep是linux下一个重要的文本处理工具之一,全称是 Globel Search Regular Expression and Printing out the line( 全面搜索正则表达式并把行打印出来 ) 是一种强大的文本搜索工具,是一个对行进行操作的搜索工作,它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep家族包括grep、egrep和fgrep。 egrep表示扩展的grep,相比grep支持更多的元字符,"grep -E"相当于egrep。fgrep是fast grep,不支持

OpenLDAP 加密传输 - 2016-09-05 17:09:08

一、自建证书颁发机构 关于证书发布机构的大家,请查看我的博文 《CentOS 6使用openssl搭建根CA》 。 我下面所操作的是根据前面几篇博文配置好的LDAP,在那上面来进行改动。服务端的IP是192.168.2.10,客户端的IP是192.168.2.11。 二、OpenLDAP 服务端设置 假设我们的CA自建证书和服务器证书都创建好了,CA的公钥是cacert.pem,服务端的证书名称是ldap.crt,私钥文件是ldap.key,所有的文件放到/etc/openldap/certs。 注意 ,
区别: 1. 两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效 2. /etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用像/etc/profile需要改动此文件 用法: CentOS 中每个用户都要指定各自的环境变量,其中包括可执行的 path路径,这些路径决定了每个用户在执行时的命令工具。 一般情况下,可以再每个用户的环境
原因: 有些情况下服务器系统不是自己装的,raid也不是自己配置的,或者当你接收一个岗位,远程登录系统后可能就不知道系统是否有做raid,raid级别?因此在这里博主总结一下Linux下查看软、硬raid信息的方法,分享一下。 软件raid:( 只能通过Linux系统本身来查看) 1)查看阵列状态: cat /proc/mdstat [root@ test ~] #cat/proc/mdstat 1 2 3 4 Personalities:[raid6][raid5][raid4] md0:activer
环境准备:( Nginx,tomcat 的安装部署本例不赘述。) 192.168.1.13 nginx 192.168.1.225 tomcat7 , terracotta 192.168.1.226 tomcat7 部署 terracotta+tomcat 集群: 一:安装 java 程序至系统,配置 java 环境。 #vi/etc/profileexportJAVA_HOME=/usr/local/javaexportPATH=/usr/local/java/bin:$PATH 二:部署单 terr
一、企业网络安全管理面临的新问题 现在计算机和移动智能设备越来越普及,有一些企业网用户不再满足于只让实名登记的、有实际办公用途的计算机上网,他们把家中的笔记本、智能手机、平板电脑带到单位,通过非法架设SOHO路由器、随身WIFI、安装免费WIFI软件等,绕过网络管理员的检测,实现非法接入企业网,然后就可以通过他们自己的设备实现一些移动平台的网络应用。这些SOHO路由器、随身WIFI的一个大卖点:“就是可以绕过检测,隐匿接入”,因为这些设备都可以关闭信号的广播发送,通过信号检测的方法也搜不到。 非法接入问题
什么是逻辑卷? LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,
========================================================== 一:MySQL主从复制规划 主库:(MySQLmaster)IP:10.0.0.52PROT:3306从库1:(MySQLslave)IP:10.0.0.52PORT:3307从库2:(MySQLslave)IP:10.0.0.52PORT:3308 ========================================================== 二:检查环境 (1)检

openstack-M版安装部署 - 2016-08-29 22:08:06

[openstack 信息简介 ] Openstack 项目是一个开源的云计算平台,它为广大云平台提供了可大规模扩展的平台,全世界的云计算技术人员创造了这个项目,通过一组相互关联的服务来提供了 Iaas 基础解决方案,每一个服务都通过提供自身的 API 来提供服务,个人或者企业完全可以根据自身的需求来安装一部分或者全部的服务。 通过下面一张表格来描述一下当前 openstack 的各个组件及功能。 Service Project name Description Dashboard Horizon 通过提