shell编程

1、什么是shell编程

	1、解释执行器
    	1、sh
  	    2、bash
      	## /etc/passwd查看用户默认bash, sh解释执行器没有高亮显示,也没有自动补全

2、shell编程

    1、所有的shell程序都是以 .sh 结尾
    2、执行方式
      1、bash test.sh
      2、chmod +x test.sh
         ./test.sh
	 ## 保证文件中第1行为 :#!/bin/bash

3、shell基础

1、变量赋值
	1、变量名=值  : =两侧不能有空格
        number=10  name="张三丰"
  	2、获取Linux命令的执行结果给变量赋值
    	1、time=$(date)
		2、time=`date`
  	3、接收用户从终端输入给变量赋值
   	 	read -p "提示信息" 变量名
		read -p "输入姓名:" name
2、输出语句
  echo $变量名
3、'' 和 "" 的区别
  1、'' 无法获取变量的值
  2、"" 可以获取变量的值
    read -p "Input Name:" name
	echo '名字是:$name'  结果:名字是:$name
	echo "名字是:$name"  结果:名字是:张三丰
4、运算符
  1、算术运算符
    + - * / % 
	++ :自加1运算
	--
	运算命令(let):
  		1、let运算表达式
   			 i=1
   			 let i++
    		 echo $i   #2
	     2、expr运算表达式
	         i=1
	         sum=`expr $i + 5`
	         echo $sum
  2、比较运算符
	1、文件状态
	  -e : 文件/目录是否存在
	  -d : 判断是否为目录
	  -f : 判断是否为文件
	2、字符比较
	  =  !=
	  空 :-z
	  非空 :!-z 或者 -n
	3、数值比较
	  等于 :-eq
	  大于 :-gt
	  >=   :-ge
	  小于 :-lt
	  <=   :-le
	  不等于:-ne
	4、逻辑比较
	  逻辑与 :&&
	  逻辑或 :||
5、if条件判断
  1、语法格式
    if [ 条件 ];then
        执行语句
	elif [ ];then
   	    执行语句
	else
        执行语句
    fi
  2、输入2个数字,比较大小
6、for循环1
      1、语法格式
        for 变量名 in 值列表
		do
	        执行语句
		done
  	  2、造数方法 :
  	          seq 起始值 步长 终止值
			 seq 5 : 1 2 3 4 5
			 seq 1 2 10 : 1 3 5 7 9
		     seq 2 2 10 : 2 4 6 8 10
      3、用for循环输出1 2 3 4 5
7、C-for循环
  1、语法格式
    for ((赋初值;条件判断;步长))
	do
        执行语句
	done
  2、C-for循环输出1 2 3 4 5
8、while循环
  1、语法格式
    while [ 条件 ]
	do
    	执行语句
	done
  2、输出1-10之间的整数
9、函数
  1、语法格式
    函数名(){
        代码块
	}
    # 函数调用
	函数名
  2、在用户主目录创建一个文件夹,如果不存在就创建,如果存在提示用户一下

事例:

1、每隔5分钟检查根分区使用量,低于20G时发出警告
 
	  #!/bin/bash
	  while [ 1 -eq 1 ]
	  do
	      h=`df -h | grep "/$" | awk '{print $4}' | awk -F "G" '{print $1}'`

      if [ $h -lt 20 ];then
          echo "根分区将满,请输出不必要的文件"
      fi
      sleep 300
 	  done
2、计划任务+备份脚本(每天18:00做数据备份)
	
	  #!/bin/bash
	  day=$(date +%F)
	  dir=/home/tarena/mydir
	  mysqldump -hlocalhost -uroot -p123456 db5 > $dir/db5-$(date +%F).sql &> 
	  /dev/null
	  echo "数据库备份成功"

  计划任务操作:
	  
	  crontab -e
	  0 18 * * * bash /home/tarena/sh/backup.sh
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值