• X皮书之shell 常用代码


     
     
    思维导图
     
     

     
     
     
      把这几天常用的一些方法积累下来,以便以后使用。这只是基础应用,如果你是这方面的高手,望请多指教。
     
     
    写一个die函数
     
     
    #!/bin/bash
    
    die () {
        echo "ERROR: $1. Aborting "
        exit 1
    }
    
    mkdir -p `dirname "/etc/zhoubc/test.sh"` || die "Could not create directory"
    echo "OK"
    
    exit 0

                                         看看它的运行情况

     
    必须以root帐号运行本脚本
     
    #!/bin/bash
    
    if [ `whoami` != "root" ] ; then
        echo "You must run this script as root. Sorry!"
        exit 1
    fi
    
    exit 0

                                         看看它的运行情况

    还有一种写法(我比较喜欢上面的写法):

    #!/bin/bash
    
    if [ "$UID" -ne 0 ] ; then
        echo "You must run this script as root. Sorry! Your uid:$UID root_uid:0"
        exit 1
    fi
    
    exit 0

                                         看看它的运行情况

    命令行传参
     
    #!/bin/bash
    
    case $1 in
        "start" )
            echo "You Input The Commond:start"
            ;;  
        "stop" )
            echo "You Input The Commond:stop"
            ;;  
        "restart" )
            echo "You Input The Commond:restart"
            ;;  
        * ) 
            echo "$0 { start | stop | restart }"
            ;;  
    esac
    
    exit 0

                                         看看它的运行情况

    杀掉指定进程
     
    #!/bin/bash
    
    #读出进程要杀进程的ID号
    pid=`ps aux | grep $1 | grep -v grep | awk '{print $2}'`
    
    #开杀
    if [ "$pid" != "" ] ; then
        kill -9 $pid &>/dev/null
    fi
    
    exit 0

                                         看看它的运行情况

     

    还有一种杀进程的方式

    pkill -9 -f  $1

     

     

     
    局部扫盲
     
      ♥  特殊文件/dev/null(位桶):传送到此文件的数据都会被系统丢掉。——当你不需要输出的时候,非常有用
            也就是说当程序将数据写入到此文件的时,会认为它已成功完成写入数据的操作,但实际上什么事都没做。
      
    #!/bin/bash
    
    echo "No output" > /dev/null
    echo "Output"
    
    exit 0

                                         看看它的运行情况

      ♥  捕获退出状态(用$?捕获):0为表示“成功”,其他任何退出状态都为失败。

    #!/bin/bash
    ls -l /dev/null
    echo $?
    
    ls nofile # ls一个不存在的文件
    echo $?
    
    exit 0

                                         看看它的运行情况

      ♥  文件描述符:Unix以小整数数字表示每个进程的打开文件。(注意空格)

    文件描述符 代表的意义
    0 标准输入
    1 标准输出
    2 标准错误输出

                                         我们来看那几个文件都输出了什么东东?

    总结
     
      归纳总结以方便下次使用。——送一句话,不积跬步无以致千里。
     
      未提及,我必须要学会的几个命令:awk、test、sort、sed。——这几个命令在实际应用中非常有用,我还没学习过这几个命令。
     
    推荐
     
    喜欢编程
  • 相关阅读:
    JavaScript 时间帮助封装
    EntityFramework 基类重写
    sql server 大数据, 统计分组查询,数据量比较大计算每秒钟执行数据执行次数
    C# DataTable 转实体对象
    EF自动创建数据库步骤之四(启用数据库初始器)
    EF自动创建数据库步骤之三(自定义数据库初始器)
    EF自动创建数据库步骤之二(继承DbContext类)
    EF自动创建数据库步骤之一(实体类写法)
    十大排序算法_java实现
    位运算
  • 原文地址:https://www.cnblogs.com/baochuan/p/2767523.html
Copyright © 2020-2023  润新知