一个shell脚本编写小助手

功能:

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

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

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

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

用法:

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

#!/bin/bash
#:-------------CopyRight-------------
#:Name:lustlost - 1.0
#:Date:2012-7-17
#:Author:lustlost
#:Email:lustlost@foxmail.com    

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
[ "$OPERAT" == q ] && exit
[ "$OPERAT" == e ] && vim $1
[ "$OPERAT" == r ] && rm -rf $1
else
    read -p "Customize the copyright information ? input y/n: " SELECT
        if [ "$SELECT" == y -o "$SELECT" == Y ]; then
            read -p "Version Number:" VER
            read -p "Author:" AUTHOR
            read -p "Email address:" EMAIL    

            cat > $1 << EOF
#!/bin/bash
#:-------------CopyRight-------------
#:Name:`basename $1` - $VER
#:Date:`date '+%Y-%M-%d'`
#:Author:$AUTHOR
#:Email:$EMAIL    

EOF    

            vim +8 $1
        else
            cat > $1 < EOF
#!/bin/bash
#:-------------CopyRight-------------
#:Name:`basename $1` - 1.0
#:Date:`date '+%Y-%M-%d'`
#:Author:Your Name
#:Email:Your Email Address    

EOF
            vim +8 $1
        fi
fi    

until bash -n $1 &> /dev/null; do
        read -p "Syntax error!! input Q/q to exit,other to edit it: " COM
        if [ $COM == Q -o $COM == q ]; then
            exit
        else
            vim $1
        fi
done
chmod +x $1
echo "sh is create and it is right!!!"

本文出自 “lustlost-迷失在欲望之中” 博客,请务必保留此出处http://lustlost.blog.51cto.com/2600869/933810

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索select
, 脚本
, shell如何编写
, 自动
, email
, read
自定
linux shell脚本编写、编写shell脚本、如何编写shell脚本、shell脚本编写工具、mac shell脚本编写,以便于您获取更多的相关知识。

时间: 2024-11-03 05:33:27

一个shell脚本编写小助手的相关文章

Shell脚本编写的八条可靠建议(值得收藏)_linux shell

这八个建议,来源于键者几年来编写 shell 脚本的一些经验和教训.事实上开始写的时候还不止这几条,后来思索再三,去掉几条无关痛痒的,最后剩下八条.毫不夸张地说,每条都是精挑细选的,虽然有几点算是老生常谈了. 1. 指定bash shell 脚本的第一行,#!之后应该是什么?如果拿这个问题去问别人,不同的人的回答可能各不相同. 我见过/usr/bin/env bash,也见过/bin/bash,还有/usr/bin/bash,还有/bin/sh,还有/usr/bin/env sh.这算是编程界的

编写第一个Shell脚本

最近一直在看shell方面的资料,很乏味,也不知道看的效果,正好下午Linux群里一兄弟,提出了一个他们公司的需求,听了之后有点思绪,感觉应该可以写出来,个人的第一个Script就诞生... 需求:每天登陆服务器查看磁盘空间比较麻烦,所以就想利用一个脚本,用来检测系统磁盘空间,然后将结果通过邮件的形式发送到指定邮箱. Script内容如下: #!/bin/bash #2012/09/17 by Song #Email:XXX@163.com DiskNum=`df -h | grep sda1

如何编写一个shell脚本查看某个进程是否在运行

问题描述 我需要做一个shell脚本,运行在Linux上,检查某个进程是否在运行,如果在运行则返回1,不在运行则返回0,在下对shell脚本不是很熟,请大家帮忙解决一下,谢谢啦-- ps:进程名称不能写死,应该是执行命令是传入的参数 解决方案 #!/bin/bashPROC_NAME=$1ProcNumber=`ps -ef |grep $PROC_NAME|grep -v grep|wc -l`if [ $ProcNumber -le 0 ];then result=0else result=

脚本交互-求助!我想写一个shell脚本 要求可以自动输入密码

问题描述 求助!我想写一个shell脚本 要求可以自动输入密码 困扰很多天的一个问题. 第一句为./ibe combine xxxxx@qq.com key 执行完这一句之后 会提示输入两个密码pw1和pw2 ,能不能写个脚本,将"1111"和"2222"分别在提示输入后自动输入? 谢谢! 我现在已经写出了输入第一个密码的方法 但是第二个密码 2222 不知道应当怎么写才能输入了 请指点! #! /bin/bash echo Content-type: text/h

别人给了我一个shell脚本,我从电脑里拖到虚拟机的linux系统后,如何运行这个shell

问题描述 别人给了我一个shell脚本,我从电脑里拖到虚拟机的linux系统后,如何运行这个shell 直接双击完全没反应,路径寻找./也没法运行,sh指令也不行,我是小白,懂得不多,真心求教 解决方案 先chmod -x 脚本路径 添加执行权限 然后将脚本命名为.sh文件 然后进入脚本所在目录 执行./脚本名.sh 举例说明 假如脚本名字为aaa.txt 在/tmp目录下 则命令如下 cd tmp chmod +x aaa.txt mv aaa.txt aaa.sh ./aaa.sh 解决方案

MUltihost SSH Wrapper 1.0发布 一个SHELL脚本

MUltihost SSH Wrapper 1.0该版本次要错误得到了修正,更广泛的兼容性,速度加快. Mussh(MUltihost SSH Wrapper)是一个SHELL脚本,用来同时在多台主机上执行SSH命令或脚本,使用ssh-agent和RSA/DSA来减少密码的输入次数. 下载地址: http://sourceforge.net/projects/mussh/files/mussh/1.0/mussh-1.0-1.noarch.rpm/download http://sourcefo

【SHELL 编程基础第一部分】第一个SHELL脚本HELLOSHELL及一些简单的SHELL基础书写与概念;

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/shell/759.html 本章节分享Shell 学习篇,那么对于Shell 简单介绍下,对于Shell来说,大家可以理解Shell 是一个命令解释器,类似于DOS下的command.com.它接收用户命令(如ls等),然后调用相应的应用程序.另外一点它可以使用用户的缺省凭证和环境执行 shell.传统意义上的shell指的是命令行式的sh

Shell脚本编写Nagios插件监控程序资源占用_linux shell

一般情况下,我们只需要监控程序进程在没在就可以了.但是这次遭遇了这样的事,公司开发的程序,程序进程还在,但是死锁了.导致大范围的影响,更要命的是根本不知道问题出在哪里,还是别的测试部同事帮忙发现的,真是丢尽运维的脸了- 为避免下次再遭遇到这样的情况,分析了这次进程死锁的现象,发现死锁会占用100%的cpu,正常情况下只占用10%以内.决定编写nagios插件,用来监控程序占用的资源,包括cpu,内存等. 一.shell脚本需求分析:    能设置cpu,mem的阈值,资源占用超过阈值就报警.  

shell脚本编写的俄罗斯方块游戏代码_linux shell

粘贴以下代码到一个空的Shell脚本文件中,并在Bash 中运行即可! 复制代码 代码如下: #!/bin/bash # Tetris Game# 10.21.2003 xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declarationAPP_NAME="${0##*[\\/]}"APP_VERSION="1.0"  #颜色定义cRed=1cGreen=2cYellow=3cBlue=4cFuchs