shell脚本编写小助手--by lustlost

简介:

功能:

1.自动检测否存在同名文件,存在则提示用户存在,并给出编辑,删除后创建,和退出3个选项

2.自动添加脚本版权信息(有自定义和默认2种方式)

3. 自动检测有无语法错误;如果有语法错误则提示用户是否退出,不退出则打开vim修改,直到修改正确为止

4.脚本编写成功后自动添加执行权限

用法:

执行脚本后面添加脚本名称即可

 

 
  1. #!/bin/bash  
  2. #:-------------CopyRight-------------   
  3. #:Name:lustlost - 1.0  
  4. #:Date:2012-7-17  
  5. #:Author:lustlost  
  6. #:Email:lustlost@foxmail.com 
  7.  
  8. if [ -e $1 ]; then  
    read -p "file exists!!! input "e" to edit it, "d" to delete it and create a new file, "q" to quiet this operat: " OPERAT
  9. [ "$OPERAT" == q ] && exit
  10. [ "$OPERAT" == e ] && vim $1
  11. [ "$OPERAT" == r ] && rm -rf $1
  12. else  
  13.     read -p "Customize the copyright information ? input y/n: " SELECT  
  14.         if [ "$SELECT" == y -o "$SELECT" == Y ]; then  
  15.             read -p "Version Number:" VER  
  16.             read -p "Author:" AUTHOR  
  17.             read -p "Email address:" EMAIL 
  18.  
  19.             cat > $1 << EOF  
  20. #!/bin/bash  
  21. #:-------------CopyRight-------------   
  22. #:Name:`basename $1` - $VER  
  23. #:Date:`date '+%Y-%M-%d'`  
  24. #:Author:$AUTHOR  
  25. #:Email:$EMAIL 
  26.  
  27. EOF 
  28.  
  29.             vim +8 $1  
  30.         else  
  31.             cat > $1 < EOF  
  32. #!/bin/bash  
  33. #:-------------CopyRight-------------   
  34. #:Name:`basename $1` - 1.0  
  35. #:Date:`date '+%Y-%M-%d'`  
  36. #:Author:Your Name  
  37. #:Email:Your Email Address 
  38.  
  39. EOF  
  40.             vim +8 $1  
  41.         fi  
  42. fi 
  43.  
  44. until bash -n $1 &> /dev/null; do  
  45.         read -p "Syntax error!! input Q/q to exit,other to edit it: " COM  
  46.         if [ $COM == Q -o $COM == q ]; then  
  47.             exit  
  48.         else  
  49.             vim $1  
  50.         fi  
  51. done 
  52. chmod +x $1
  53. echo "sh is create and it is right!!!" 

本文转自lustlost 51CTO博客,原文链接:http://blog.51cto.com/lustlost/933810,如需转载请自行联系原作者 

相关文章
|
25天前
|
弹性计算 Shell Perl
ecs服务器shell常用脚本练习(二)
【4月更文挑战第1天】shell代码训练(二)
106 1
|
28天前
|
Java Shell
SpringBoot启动脚本Shell
SpringBoot启动脚本Shell
18 0
|
5天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
33 3
|
2天前
|
监控 Shell 应用服务中间件
第十二章 Shell脚本编写及常见面试题(二)
第十二章 Shell脚本编写及常见面试题(二)
|
2天前
|
监控 关系型数据库 Shell
第十二章 Shell脚本编写及常见面试题(一)
第十二章 Shell脚本编写及常见面试题(一)
|
2天前
|
监控 Shell
生产环境Shell脚本Ping监控主机是否存活(多种方法)
生产环境Shell脚本Ping监控主机是否存活(多种方法)
|
2天前
|
运维 Shell
Shell脚本判断IP是否合法性(多种方法)
Shell脚本判断IP是否合法性(多种方法)
|
8天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
33 0
|
9天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
10天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
33 1