加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell 编码语句

发布时间:2020-12-15 18:22:01 所属栏目:安全 来源:网络整理
导读:编码语句分类: 顺序执行 选择执行 循环执行 选择执行:if if 语句格式: if 判断条件 then 条件为真时分支代码 fi if 判断条件;then 条件为真时分支代码 else 条件为假时分支代码 fi if 判断条件;then 条件为真时分支代码 elif 判断条件;then 条件为真时分支

编码语句分类:

  顺序执行
  选择执行
  循环执行

选择执行:if

if 语句格式:
      if 判断条件       then       条件为真时分支代码        fi
      
if 判断条件;then       条件为真时分支代码       else       条件为假时分支代码       fi

      if 判断条件;then
        条件为真时分支代码
      elif 判断条件;then
        条件为真时分支代码
      ...

      else
        条件为假时分支代码
      fi


for 循环(循环次数已知)

for格式:
        for 变量名 in 列表; do
            循环体
        done

        循环体:依赖于调用变量来实现其变化;

        循环可以嵌套;

        退出条件:遍历列表完成

for的第二种使用格式 :
?? ??? ?for ((初始条件;测试条件;修改表达式)); do
?? ??? ??? ?循环体
?? ??? ?done

while循环(循环次数未知)

while格式:


        while 测试条件; do
            循环体
        done

        测试条件为真,进入循环;测试条件为假,退出循环;
        测试条件一般通过变量来描述,需要在循环体不变量地改变变量的值,以确保某一时刻测试条件为假,进而结束循环;

while循环:遍历文本文件

?? 格式:

?? ??? ?while read 变量名; do
?? ??? ??? ?循环体
?? ??? ?done < /path/to/somefile

?? ??? ?变量名,每循环一次,记忆了文件中一行文本

until循环(循环次数未知)

until格式:


        until 测试条件; do
            循环体
        done

        测试条件为假,进入循环;测试条件为真,退出循环;
        测试条件一般通过变量来描述,需要在循环体不变量地改变变量的值,以确保某一时刻测试条件为真,进而结束循环;

case语句:有多个测试条件时,case语句会使得语法结构更明晰

case语句格式:
      case 变量引用 in   PATTERN1)   分支1   ;; PATTERN2) 分支2 ;; ... *) 分支n ;; esac PATTERN:类同于文件名通配机制,但支持使用|表示或者; a|b: a或者b *:匹配任意长度的任意字符 ?: 匹配任意单个字符 []: 指定范围内的任意单个字符

?实例

创建 Linux 系统账户及密码

    #!/bin/bash
    useradd    "$1" 
    echo "$2"  |  passwd  ┅stdin  "$2"

    
备份日志

    #!/bin/bash
    # 每周 5 使用 tar 命令备份/var/log 下的所有日志文件
    tar    -czf    log-`date +%Y%m%d`.tar.gz    /var/log 

    
监控内存和磁盘容量当小于给定值时报警

    #!/bin/bash
    # 实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员
     
    # 提取根分区剩余空间
    disk_size=$(df / | awk ///{print $4})
    # 提取内存剩余空间
    mem_size=$(free | awk /Mem/{print $4})
    while :
    do
    # 注意内存和磁盘提取的空间大小都是以 Kb 为单位
    if  [  $disk_size -le 512000 -a $mem_size -le 1024000  ]
    then
        mail  ﹕  "Warning"  root  <<EOF
        Insufficient resources,资源不足
    EOF
    fi
    done


猜数字游戏
    #!/bin/bash
    # RANDOM 为系统自带的系统变量,值为 0                        

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读