• shell编程


    shell编程

        一.运算符

          1.算数运算符 

            + - * / 

          2.关系

            < > <= >= == != && ||     

          3.赋值运算符

            +  +=  *=  /=   %=

          4.字符串

            =   !=   -z空  -n非空

          5.数值

            -eq 等于 

            -ne  不等于

            -gt   大于

            -lt    小于

            -ge   大于等于

            -le    小于等于

          举例:

       1.    

    #!/bin/bash
    var='/etc/init.d'
    var='/etc/passwd'
    if [ -d $var ]
    then
    echo "$var is dictionary"

    elif [ -b $var ]
    then
    echo "$var is block"
    elif [ -f $var ]
    then
    echo "$var is regular file"
    else
    echo 'unknow'
    fi

    2.

    i test.sh
    #test.sh
    echo $0
    echo $1
    echo $2
    echo $3
    echo ${11}
    echo '$$' $$ 这个进程的pid
    echo '$*' $* 所有的
    echo '$@' $@ 所有的
    echo '$#' $# 总共多少个
    echo '$?' $? 执行是否正确的输出
    [root@localhost tmp]# ./test.sh 1 2 3 4 5 6 7 8 9 10 11
    ./test.sh
    1
    2
    3
    11
    $$ 7800
    $* 1 2 3 4 5 6 7 8 9 10 11
    $@ 1 2 3 4 5 6 7 8 9 10 11
    $# 11
    $? 0

    3.

    检查本地网络空闲地址
    for i in {1..253}
    do
    ping 192.168.16.$i &> /dev/null
    if [ $? -ne 0 ]
    then
    echo "192.168.16.$i is available"
    else
    echo "192.168.16.$i is unavailable"
    fi
    done

    4.

    function abc( ){
    echo 'aaa';
    echo 'bbb';

    }
    abc

    function install(){
    yum install ...;
    if []
    }

    funciton start(){
    echo '----';
    return 1
    }
    start
    if [ $1 ='install' ]
    then
    install
    elif [ "$1" = 'start' ]
    then
    start
    else
    echo 'cmd not find'

    5.

    #!/bin/bash
    var1=AAA
    var2=BBB
    var3=CCC
    while :
    do
    clear
    echo -e "A:${var1} B:${var2} C:${var3}"
    temp=$var1
    var1=$var2
    var2=$temp
    sleep 1
    done

    6.

    #!/bin/bash
    while :
    do
    read -p 'please input your name: ' name
    read -p 'please input your password: ' psd
    if [ $name = 'alex' -a $psd = 'alex3714' ]
    then
    echo 'login successful,welcome da sB'
    while :
    do
    read -p 'please input your cmd: ' cmd
    if [ "$cmd" = 'quit' ]
    then
    break
    fi
    $cmd
    done
    else
    echo 'username or password is error'
    fi
    done

    echo '--------------'

    7.

    ps aux |grep 'nginx' |grep -v 'grep' &>/dev/null
    if [ $? -ne 0 ]
    then
    systemctl restart nginx
    fi

     

        二.crontab定时任务

    语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

    crontab任务配置基本格式:
    *  *  *  *  *  command
    分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

    第1列表示分钟1~59 每分钟用*或者 */1表示
    第2列表示小时1~23(0表示0点)
    第3列表示日期1~31
    第4列表示月份1~12
    第5列标识号星期0~6(0表示星期天)
    第6列要运行的命令

    参  数: 
    -e  编辑该用户的计时器设置。 
    -l  列出该用户的计时器设置。 
    -r  删除该用户的计时器设置。 
    -u<用户名称>  指定要设定计时器的用户名称。

     

     

     

  • 相关阅读:
    初学node.js-nodejs中实现用户登录路由
    初学node.js-nodejs中实现用户注册路由
    初学node.js-nodejs连接MongoDB(5)
    初学node.js-MongoDB安装和环境服务配置(4)
    初学node.js-nodejs中实现HTTP服务(3)
    初学node.js-npm使用(2)
    初学node.js-nodejs安装运行(1)
    python-两个图片相似度算法
    python-两个筛子数据可视化(直方图)
    从头学习网络编程——网络编程学习笔记 :什么是HTTP与CGI?
  • 原文地址:https://www.cnblogs.com/jiangshitong/p/6619165.html
Copyright © 2020-2023  润新知