----------------------------------目录--------------------------------------------------

目录(if开头为if语句,for开头为for语句,if5.sh为case语句)

if1.sh:判断根分区使用率,大于60会报警

if2.sh:备份数据库、目录、文件等等

if3.sh:判断httpd是否启动,如果没有启动会自动启动流程

if4.sh:判断输入的是什么文件类型

if5.sh:选择一个你想去的城市(用caase语句)

for1.sh:依次输出数字1-6

for2.sh:批量解压脚本

for2.1.sh:统计if目录下以.sh结尾文件的个数

for3.sh:求1到100的总和

useradd.sh:批量添加用户

----------------------------正文--------------------------------------------

if1.sh:判断根分区使用率,大于60会报警

vim if1.sh

#!/bin/bash
#判断根分区磁盘占有率过高的问题。>=60%
rate=$( df -h | grep /dev/mapper/cl-root | awk '{print $5 }' | cut -d "%" -f 1 )

if [ $rate -ge 60 ]
    then
        echo "Waring!根分区磁盘占有率过高!!!"
fi

---------------------------

if2.sh:备份数据库、目录、文件等等

vim if2.sh
#!/bin/bash
#备份文件夹或者数据库等等。
date=$(date +%y%m%d)
size=$(du -sh /root/chen)

if [ -d /tmp/dbback ]  #判断dbback这个文件是否存在
    then
        echo "Date is: $date" > /tmp/dbback/db.txt        #输出时间,以21230这种格式
        echo "Size is: $size" >> /tmp/dbback/db.txt   #统计大小
        cd /tmp/dbback
        tar -zcf chen_$date.tar.gz  /root/chen /tmp/dbback/db.txt &>/dev/null  #在tmp/dbback下面进行打包
        rm -rf /tmp/dbback/db.txt   
    else
        mkdir /tmp/dbback   
        echo "Date is:$date" > /tmp/dbback/db.txt
        echo "Size is:$size" >>/tmp/dbback/db.txt
        cd /tmp/dbback
        tar -zcf chen_$date.tar.gz  /root/chen /tmp/dbback/db.txt $>/dev/null
        rm -rf /tmp/dbback/db.txt    
fi

--------------------------

if3.sh:判断httpd是否启动,如果没有启动会自动启动流程

vim if3.sh

#!/bin/bash
#判断apache是否启动:service httpd restart,停止service httpd stop
#如果停止不了,ps命令,然后kill杀掉进程。       
rate=$(nmap 192.168.61.128 | grep "tcp" | grep "http" | awk '{ print $2 }' )  #nmap命令与awk命令结合使用,筛选出“open”
if [ "$rate" == "open" ]  #如果$tate等于open
    then
        echo "$(date) httpd is ok !!!" >> /tmp/httpd_acc.log
    else
        /etc/rc.d/init.d/httpd restart &>/dev/null   #启动httpd
        echo "$(date) httpd reboot!!" >> /tmp/httpd_err.log
fi

---------------------------------

if4.sh:判断输入的是什么文件类型

vim if4.sh
#!/bin/bash
#判断用户输入的是什么文件
read -p "please input a filename:" file
if [ -z "$file" ]   #判断file变量是否为空
    then
        echo "Error please "
        exit 1
elif [ ! -e "$file" ]  #判断file这个值是否存在
    then 
        echo "you  input is not a file"  #如果file这个值不存在
        exit 2
elif  [ -f "$file" ]   #判断file变量是否为普通文件
        then
        echo " $file is a regulare file !"
elif  [ -d "$file" ]    #判断file变量是否为目录文件
        then
        echo "$file is a direcotry!"
else 
        echo "$file is an other file!"

fi

--------------------------

if5.sh:选择一个你想去的城市(用caase语句)

vim if5.sh
#!/bin/bash
echo "如果你想去上海,请选择1"
echo "如果你想去广州,请选择2"
echo "如果你想去成都,请选择3"
read -t 30 -p "请选择你想去的城市:" cho
case "$cho" in
    "1")
        echo "上海欢迎你!"
        ;;
    "2")
        echo "广州欢迎你!!"
        ;;
    "3")
        echo "成都欢迎你!"
        ;;
    *)
        echo "请按提示输入1/2/3 !!!!!!"
        ;;

esac

---------------------------------------

for1.sh:依次输出数字1-6

vim for1.sh

#!/bin/bash
#一次输出数字1-6
for i in 1 2 3 4 5 6
    do
        echo "$i"
    done
    
--------------

for2.sh:批量解压脚本

vim for2.sh
#!/bin/bash
#批量解压脚本

cd /root/sh/if
ls *.sh >ls.log
for i in $(cat ls.log)
    do
        tar -zcf $i &>/dev/null
        rm  -rf /root/sh/if/ls.log 
    done
        
---------------------

for2.1.sh:统计if目录下以.sh结尾文件的个数

vim for2.1.sh

#!/bin/bash
#统计if文件下以.sh的个数
cd /root/sh/if
ls *.sh >ls1.log
y=1
for i in $(cat ls1.log)
    do
        echo "$y"
        y=$(($y + 1))
    done

-----------------

for3.sh:求1到100的总和

vim for3.sh

#!/bin/bash
#求1加到100的总和
s=0
for ((i=1;i<=100;i++))
    do
        s=$(($s + $i))
    done
echo "1+2+3+...100总和为:$s"

----------------------------

useradd.sh:批量添加用户

vim useradd.sh
#!/bin/bash
#批量添加用户
read -t 30 -p "请输入添加的同户名:" name
read -t 30 -p "请输入添加的个数:"  number
read -t 30 -p "请输入初始密码:"   pass
if [ ! -z "$name" -a ! -z "$number" -a ! -z "$pass" ]    
    then
        y=$(echo $number | sed 's/^[0-9]*$'//g)
        if [ -z "$y" ]
            then
                for((i=1;i<=$number;i++))
                    do
                        useradd  $name$i &>/dev/null
                        echo $pass | passwd --stdin "$name$i" &>/dev/null
                    done
        fi
fi

linux之shell语言相关推荐

  1. linux 系统 Shell语言 基础

    linux 系统 Shell语言 基础 第一章 Shell 编程 1 . 概述 ​ Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Sh ...

  2. linux的shell脚本语法与C语言不同之一

    Linux的shell脚本和C语言有很多类似的地方. 比如有for循环,while等等. 但是具体的语句书写上是有区别的. 随时总结,现在给出目前的例子. if  [ -d /home/  ]; th ...

  3. Linux学习笔记(七)——shell语言

    七.Shell语言 (一).shell概述 1.Shell简介 · Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂 ...

  4. Python在Linux实现代码特效,关于在Linux系统上的Ubuntu上基于python3、shell语言代码的实现...

    首先打开执行终端,然后进入路径(执行文件的目录): 1.python3语言代码的实现步骤: 1>python3 xxx.py(一步实现) 2.shell语言代码的实现步骤: 1>获取属主的 ...

  5. Linux Shell语言并发执行多条命令

    shell语言的并发 Default模式下,shell命令是阻塞执行的,可以通过其后添加&让这条命令异步执行,如: sleep 10 & 执行这条命令后,并不会阻塞10秒,而是立即返回 ...

  6. linux shell脚本if,linux的shell脚本中if,for,while的解析与应用

    linux的shell中有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),它们对我们平时的脚本编写和命令输入都有很大的作用,掌握了这些一定会对我们有很大的帮助. 一. ...

  7. 为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要1...

    为什么80%的码农都做不了架构师?>>>    为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的薪水?   由于目前国内嵌入 ...

  8. Linux的shell脚本函数教程

    Linux的shell脚本函数教程 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.shell中函数使用示例 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.she ...

  9. Linux下C语言编程-进程的创建

    Linux下C语言编程-进程的创建 作者:hoyt 1.进程的概念 Linux操作系统是面向多用户的.在同一时间可以有许多用户向操作系统发出各种命令.那么操作系统是怎么实现多用户的环境呢?在现代的操作 ...

最新文章

  1. openstack之keystone
  2. 转载 - 通过设置P3P头来实现跨域访问COOKIE
  3. 关于CKEditor 4.0 过滤html标签
  4. wxWidgets:wxGenericAboutDialog类用法
  5. 异步IO\数据库\队列\缓存
  6. HDU多校2 - 6774 String Distance(序列自动机优化lcs)
  7. java处理url中的特殊字符%等
  8. 如何系统自学python_如何系统地自学 Python?
  9. PostgreSQL初学
  10. 2020-01-14 转载【dpdk】使用libpcap-PMD驱动收发包
  11. flask如何查询mysql_如何从Flask应用中的MySQL查询返回数据?
  12. AJAX最大的特点以及作用是什么?经典面试题
  13. windows server 2003 系统提权
  14. 声卡性能测试软件,RightMark Audio Analyzer音频声卡测试软件
  15. 【历史上的今天】1 月 1 日:惠普诞生;互联网的规范化;百度成立
  16. 移动端日历组件设计与实现
  17. MATLAB求解一元二次方程
  18. 塑身必知常识:究竟是有氧运动还是无氧运动好?
  19. 【LGP5108】仰望半月的夜空
  20. 太湖2018年渔业产值达7.3亿元 今年大闸蟹产量将降低

热门文章

  1. AutoGAN-Distiller: Searching to Compress Generative Adversarial Networks, ICML2020
  2. ubuntu 登录界面卡死解决方法
  3. MATLAB resample函数
  4. 从杉车网新能源车选,看新能源汽车市场老派与新锐之争
  5. 支持向量机(四)——非线性支持向量机
  6. java小基础之代码块的霸道
  7. 如何用 R 绘制交互式社会网络图?
  8. C++ 快速傅里叶变换
  9. 【DP学习总结】区间DP
  10. cqh-class 文件内容,类加载过程,编写第一个程序