zoukankan      html  css  js  c++  java
  • shell脚本小示例

    求1-100自然数的和:
    
    法一:for循环
    #!/bin/bash
    #
    declare -i sum=0
    for ((i=0;i<=100;i++));do
      let sum+=$i
    done
    
    echo "Sum:$sum"
    
    法二:while循环
    #!/bin/bash
    #
    declare -i sum=0
    declare -i i=0
    
    while [ $i -le 100 ];do
      let sum+=$i
      let i++
    done
    echo $i
    echo "Summary:$sum."
    
    统计tcp连接状态的脚本:
    
    #!/bin/bash
    # This script is count tcp status
    
    declare -i estab=0
    declare -i listen=0
    declare -i other=0
    
    for state in $(netstat -tan | grep "^tcp>" | awk "{print $NF}");do
      if [ "$state" == 'ESTABLISHED' ];then
        let estab++
      elif [ "$state" == 'LISTEN' ];then
        let listen++
      else
        let other++
      fi
    
    done
    
    echo "ESTABLISHED:$estab"
    echo "LISTEN:$listen"
    echo "Unknow:$other"
    
    批量添加10个用户:
    
    #!/bin/bash
    
    if [ ! $UID -eq 0 ];then
      echo "Only root can use this script."
      exit 1
    fi
    
    for i in {1..10};do
      if id user$i &> /dev/null;then
        echo "user$i exist"
      else
        useradd user$i
        if [ $? -eq 0 ];then
          echo "user$i" | passwd --stdin user$i &> /dev/null
        fi
      fi
    
    done
    
    测试一个网段内主机的连通脚本:
    
    #!/bin/bash
    #ping 
    
    net='172.16.1'
    uphosts=0
    downhosts=0
    
    for i in {1..254};do
      ping -c 1 -w 1 ${net}.${i} &> /dev/null
      if [ $? -eq 0 ];then
        echo "${net}.${i} is up."
        let uphosts++
      else
        echo "${net}.${i} is down."
        let downhosts++
      fi
    done
    
    echo "Up hosts:$uphosts"
    echo "Down hosts:$downhosts"
    
    求数的阶乘:
    
    #!/bin/bash
    #
    
    fact() {
    
      if [ $1 -eq 0 -o $1 -eq 1 ];then
        echo 1
      else
        echo $[$1*$(fact $[$1-1])]
      fi
    
    }
    
    fact 5
    
                              
    

      

  • 相关阅读:
    自定义瀑布流
    传值 属性 block 单例 协议
    sqlite数据库中 保存和读取UIData对象
    SQL
    关于在Xcode控制台打印的注意点
    synthesize的作用
    iPhone屏幕尺寸/launch尺寸/icon尺寸
    关于TableView上有一段留白的解决方法
    mac显示隐藏文件
    多线程之GCD
  • 原文地址:https://www.cnblogs.com/pythonal/p/7656576.html
Copyright © 2011-2022 走看看