zoukankan      html  css  js  c++  java
  • 【循环】使用记录

    1.
    # vim case-2.sh #!/bin/bash case $1 in start) systemctl $1 httpd ps aux|grep httpd echo "httpd start" ;; stop) systemctl $1 httpd ps aux|grep httpd echo "httpd stop" ;; status) systemctl $1 httpd ;; restart) systemctl $1 httpd echo "httpd restart" ;; *) echo "USAGE: $0 start|stop|restart" esac


    cat case-1.sh

    
    

    #!/bin/bash
    cat <<eof
    ** 1. backup **
    ** 2. copy **
    ** 3. quit **
    eof
    read -p "Input a choose: " OP
    case $OP in
    1|backup)
    echo "BACKUP......"
    ;;
    2|copy)
    echo "COPY....."
    ;;
    3|quit)
    exit
    ;;
    *)
    echo error
    esac

     

    2.for 循环

    for var in list 
    do
      commands
    done
    
    1)
    #!/bin/bash
    for var in a1 b1 c1 d1
    do
        echo the text is $var
    done
    2)
    cat for-4.sh 
    #!/bin/bash
    list="a1 b1 c1 d1"
    for i in $list
    do
        echo is a $i
    done
    
    3)
    cat for-5.sh   #以空格做分隔符
    #!/bin/bash
    for i in `cat  /etc/hosts`
    do
        echo "$i"
    done
    
    4)
    
    cat for-6.sh  #指定以
    回车做为 for语句的分隔符
    #!/bin/bash
    IFS=$'
    '
    for i in `cat /etc/hosts`
    do
        echo "$i"
    done
    
    cat for-7.sh   #以:冒号做分隔符
    #!/bin/bash
    IFS=:
    list=`head -1 /etc/passwd`
    for i in $list
    do
        echo $i
    done
    
    5)
    cat for-8.sh 
    #!/bin/bash
    for (( i=1 ; i<=10 ; i++ ))
    do
        echo num is $i
    done
    
    6)
    # cat for-8.sh 
    #!/bin/bash
    for ((a=1,b=9 ; a<10 ; a++,b--))
    do
        echo num is $a - $b 
    done
    
    
    7)
    
    cat for-adduser.sh 
    #!/bin/bash
    for name in `cat /root/a.txt`
    #for name in $(cat /root/a.txt)
    do
            id $name &> /dev/null
            if [ $? -ne 0 ];then
                    useradd $name
                    echo "123456" |passwd --stdin $name &> /dev/null
                    echo "user $name created"
    
            else
                    echo "user $name is exist"
            fi
    done
    
    8)
    # cat for-for.sh
    for i in  `seq 9`
    do
             for j in `seq $i`
             do
                  echo  -n  "$i*$j= `echo $(($i*$j))` "
             done
            echo "  "
    done

    日志备份和账号批量添加

    21.4.3  批量创建帐号并生成随机密码
    [root@xuegod63 ~]# vim adduser.sh
    #!/bin/bash
    for i in xuegoda{1..10}
    do
          useradd $i
          pass=`date +%s|md5sum|cut -c 1-8`
          sleep 1
          echo "$i:$pass" >> /tmp/passwd.log
          echo $pass |passwd --stdin $i > /dev/null 2>&1
          if [ $? -eq 0 ];then
            echo "create user is successfully!"
          else
            echo "create user is failed!"
          fi
    done
    
    
    日志
    
    vim log-back.sh
    #!/bin/sh
    SRC_DIR=/var/log/
    DES_DIR=/opt/backup/`date +%Y%m%d`
    if
    [ ! -d  $DES_DIR ] ; then
            mkdir -p $DES_DIR
    fi
    for i in  `find  $SRC_DIR  -name "*.log"`
    do
            tar  czf  $i.tgz  $i
    done
    mv /var/log/*.tgz $DES_DIR
    ls -lh $DES_DIR
    echo "The scripts exec end, Files tar successfully !"
  • 相关阅读:
    微软工具连接
    [转贴]生成缩略图
    突破验证,安装Media Player11.
    【转贴】Sourcecode and Code Snippets
    AppArch(一):User Interface
    【转】中国的OA要走的路还很长
    对WebService的在企业应用中的思考。
    [转贴]按文件类型获取其图标
    信息系统分析方法
    【转】WebService第一次调用正常,第二次调用超时的解决办法。
  • 原文地址:https://www.cnblogs.com/zsl-find/p/9970644.html
Copyright © 2011-2022 走看看