批量执行shell脚本 Linux学习shell脚本
shell脚本,首先它是一个脚本批量执行shell脚本,并不能作为正式的编程语言。因为是跑在linux的shell中,所以叫shell脚本。说白了,shell脚本就是一些命令的集合。
举个例子,我想实现这样的操作:
1)进入到/tmp/目录;
2)列出当前目录中所有的文件名;
3)把所有当前的文件拷贝到/root/目录下;
4)删除当前目录下所有的文件。
简单的4步在shell窗口中需要你敲4次命令,按4次回车。这样是不是很麻烦?当然这4步操作非常简单,如果是更加复杂的命令设置需要几十次操作呢?那样的话一次一次敲键盘会很麻烦。所以把所有的操作都记录到一个文档中,然后去调用文档中的命令,这样一步操作就可以完成。其实这个文档呢就是shell脚本了,只是这个shell脚本有它特殊的格式。
Shell脚本可以方便的去管理服务器,因为可以指定一个任务计划定时去执行某一个shell脚本实现我们想要需求。现在的邮箱很好用,发邮件的同时还可以发一条邮件通知的短信给用户,利用这点,我们就可以在我们的linux服务器上部署监控的shell脚本,比如网卡流量有异常了或者服务器web服务器停止了就可以发一封邮件给管理员卡盟,同时发送给管理员一个报警短信这样可以让我们及时的知道服务器出问题了。
自定义的脚本建议放到/usr/local/sbin/目录下,一来可以更好的管理文档;二来以后管理员都知道自定义脚本放在哪里,方便维护。
shell脚本语法与其他语言类似批量执行shell脚本,不过需要注意赋值=左右不能有空格,使用变量需要用$符号引用等。
下面通过一些小例子学习shell:
1.计算1-100的和
#! /bin/bash sum=0 for i in `seq 1 100`; do sum=$[$i+$sum] done echo $sum2.批量建立用户user_00, user_01, … ,user_100并且所有用户同属于users组
#! /bin/bash groupadd users for i in `seq 0 9`; do useradd -g users user_0$i done3.判断输入的IP是否正确(IP的规则是,n1.n2.n3.n4,其中1
#! /bin/bash checkip() { if echo $1 |egrep -q '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}