zoukankan      html  css  js  c++  java
  • shell简单使用

    最近需要用到shell脚本实现关机保护作用,总结下语法

    要点:

           1、linux下编写的shell脚本不能在window下编写,否则会出现^M的错误,用window编写保存,在linux用vim打开,每行的最后一个会出现^M

           原因:对回车键判定不一致,window是 ,unix是 ,    用ultraedit打开会提示用dos格式还是unix格式,用此软件打开不会存在这种情况。

           2、对字符串进行判断是否为空,在变量加双引号""

    tmp=`ps | grep "ups_netcomm"`                                                   
    if [ ! -z "$tmp" ]; then                                                        
      pid=`ps | grep "ups_netcomm" | awk '{print $1}' `                             
      echo "the process ups_netcomm is running, kill ups_netcomm process pid:$pid"  
      kill -9 $pid                                                                  
    fi           

      3、awk 进行一定规律的文本分析,例如 ps -aux | awk '{print $1}' , 而sed用于查找替代文件内容

      4、sh与bash不一样, sh是bash的子集,sh是posix标准, 通用于任何符合posxi标准

       shell常用命令:  http://segmentfault.com/a/1190000002924882#articleHeader3

     5、 bash里  return 的返回值只能为整数

           获取函数的字符串返回值的方法

             

    function unzipPackage()  
    {   
        echo "test"
    }
    
    
     result=`unzipPackage  "$guardUUID" "$fileDate"`

       获取函数的retrun的返回值

    function unzipPackage()  
    {   
        return 12
    }
    
     unzipPackage  $guardUUID $fileDate
     result=`echo $?`

    php 在使用  $last_line = exec("./bash.sh",  $output, $ret);   其中的$ret 是 bash.sh的 return的值, $last_line 是bash.sh的echo 的值

     统计行数:

    find . -name "*.[c|h]"|xargs cat|grep -v ^$|wc -l

       

    [ $enabled = 0 ] && return
  • 相关阅读:
    ASP.NET vs MVC vs WebForms
    asp.net web forms和asp.net mvc比较
    cxx11emu.h 和 logprint.h
    获取代码中宏定义等信息的一些手段
    openwrt luci web分析
    QSDK与OPENWRT区别
    OpenWrt 中查看 Flash RAM CPU 信息
    深入剖析Linux IO原理和几种零拷贝机制的实现
    Linux ass2srt
    bsd pkg install gcc gmake cmake gdb cgdb
  • 原文地址:https://www.cnblogs.com/hzijone/p/4843994.html
Copyright © 2011-2022 走看看