• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux中常用脚本和函数分享

    #查找当前目录中是否存在指定目录,若不存在,则创建之

    复制代码 代码如下:

    function mkdir_1
    {
      if test ! -d $1
        then
         mkdir $1
      fi
    }

    #指定文件中的"prefix = .*"串替换为"prefix=/home/gnome-unicore-install2/usr/"
    #可以用来作为sed用法的参考
    复制代码 代码如下:

    function modify_prefix
    {
       chmod +w $1
       cp $1 $1.bak
       sed 's/prefix = .*/prefix=/home/gnome-unicore-install2/usr/g' $1.bak > $1
       rm $1.bak
    }

    #指定文件中的"^LDFLAGS =.*"串替换为"LDFLAGS = -rdynamic -lgdk_pixbuf -lgtk -lgdk -lgmodule -lglib -ldl -lXext -lX11 -lm"
    复制代码 代码如下:

    #change_gnome-config FILENAME
    function change_gnome-config
    {
       cp $1 $1.bak
       sed 's/^LDFLAGS =.*/LDFLAGS = -rdynamic -lgdk_pixbuf -lgtk -lgdk -lgmodule -lglib -ldl -lXext -lX11 -lm /g' $1.bak> $1    
       rm $1.bak
    }

    #删除指定文件的含有指定字符的行
    #格式:delete_line filename "word_contain"
    复制代码 代码如下:

    function delete_line
    {
       chmod +w $1
       cp $1 $1.bak
       cat $1.bak | grep -v -e "$2" >$1      
    }

    #用途:删除文件中包含line1或(和?)line2的行
    #格式:delete_line filename line1 line2
    复制代码 代码如下:

    function delete_line_no
    {
       chmod +w $1
       cp $1 $1.bak
       sed  $2,$3'd' $1.bak>$1
       rm $1.bak

    }


    #用途:在LINE_NO指定的行插入字符串CONTENT
    #可以用来作为sed用法的参考
    #格式: add_line FILENAME LINE_NO CONTENT
    复制代码 代码如下:

    function add_line
    {
        chmod +w $1
        cp $1 $1.bak
        sed -e $2 'i' "$3" '' $1.bak > $1
        rm $1.bak
    }

    #用途:检查含有"PC24"代码的程序并打印出来
    #格式: check_PC24 //after installation 
    复制代码 代码如下:

    function check_PC24
    {
      echo "now comes the PC24 checking..."
      . $COMMAND_UNICORE/shell/shell_PC24 > /dev/null
      if test -s $COMMAND_UNICORE/PC24_result
         then :
           echo "The following file contains PC24 problems: $COMMAND_UNICORE/PC24_result "
         else
           echo "No PC24 problem found"
      fi
    }

    #打印标题
    复制代码 代码如下:

    displayheader() {
        echo "   *****************************************"
        echo "   *         IeeeCC754 testing tool           *"
        echo "   *****************************************"
        echo " "
    }

    #打印一个菜单的做法
    复制代码 代码如下:

    displayplatformmenu() {
        #clear the screen
        clear
        displayheader
        echo "   a) SunSparc "
        echo "   b) IntelPentium "
        echo "   c) AMD "
        echo "   d) Unicore32 "
        echo "   e) Unicore32(with FP2001) "
        echo " "
        echo  -n "   select a Platform > "
    }

    #接收一个菜单输入
    复制代码 代码如下:

    displayplatformmenu
    read answer
    case ${answer} in
          a) TARGET="BasicOp";;
          b) TARGET="Conversion";;
          *) badchoice;;
    esac

    #查找当前目录下是否存在file_name文件
    #可以用来作为if用法的参考
    复制代码 代码如下:

    detectfile_name() {
      if [ ! -f file_name ]
         then
         echo "Error: file_name does not exist.  Please check"
         exit 1;
        else
          echo "OK,the directy is exist"
      fi
    }

    #将参数指定的一个或多个目录项以及其下的多级子目录下的所有文件名和目录名转换为小写。
    复制代码 代码如下:

    cvitem()
    {
    echo "mv $1 `dirname $1`/`basename $1 | tr
    'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`"
    }
    [ $# = 0 ] { echo "Usage: lcdir item1 item2 ..."; exit; }
    for item in $*     #可以用来作为for用法的参考
    do
    [ "`dirname $item`" != "`basename $item`" ] {
    [ -d $item ]
    {
    for subitem in `ls $item`
    do
    cvlc $item/$subitem
    done
    }
    cvitem $item
    }
    done

    #一个login的例子
    复制代码 代码如下:

    if ($?path) then
    set path=($HOME/bin $path)
    else
    set path=($HOME/bin /usr/bin .)
    endif
    if ( ! $ {?DT} ); then
    stty dec new
    tset -I -Q
    endif
    set mail=/usr/spool/mail/$USER

    #关于if使用的几个例子
    #执行一个命令或程序之前,先检查该命令是否存在,然後才执行
    复制代码 代码如下:

    if [ -x /sbin/quotaon ] ; then
    echo "Turning on Quota for root filesystem"
    /sbin/quotaon /
    fi

    #得到Hostname
    #!/bin/sh
    复制代码 代码如下:

    if [ -f /etc/HOSTNAME ] ; then
    HOSTNAME=`cat /etc/HOSTNAME`
    else
    HOSTNAME=localhost
    fi

    #如果某个设定档允许有好几个位置的话,例如crontab,可利用if then elif fi来找寻
    复制代码 代码如下:

    if [ -f /etc/crontab ] ; then #[ -f /etc/crontab ]等价于test -f /etc/crontab
    CRONTAB="/etc/crontab"
    elif [ -f /var/spool/cron/crontabs/root ] ; then
    CRONTAB="/var/spool/cron/crontabs/root"
    elif [ -f /var/cron/tabs/root ] ; then
    CRONTAB="/var/cron/tabs/root"
    fi
    export CRONTAB

    #利用uname来判断目前系统,并分别做各系统状况不同的事。
    复制代码 代码如下:

    SYSTEM=`uname -s`
    if [ $SYSTEM = "Linux" ] ; then
    echo "Linux"
    elif [ $SYSTEM = "FreeBSD" ] ; then
    echo "FreeBSD"
    elif [ $SYSTEM = "Solaris" ] ; then
    echo "Solaris"
    else
    echo "What?"
    fi

    #关于while使用的例子
    #无条件循环
    复制代码 代码如下:

    while : ; do
    echo "do something forever here"
    sleep 5
    done

    您可能感兴趣的文章:
    • linux shell自定义函数(定义、返回值、变量作用域)介绍
    • Linux里awk中split函数的用法小结
    • linux下C语言中的mkdir函数与rmdir函数
    • 解析Linux下的时间函数:设置以及获取时间的方法
    • linux系统上支持php的 iconv()函数的方法
    • 解析linux 文件和目录操作的相关函数
    • PHP执行linux系统命令的常用函数使用说明
    • linux下access函数的用法介绍
    • Linux Shell脚本系列教程(四):使用函数添加环境变量
    • linux下system函数的简单分析
    上一篇:Shell脚本学习指南之查找与替换介绍
    下一篇:awk基础知识小结第1/2页
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    linux中常用脚本和函数分享 linux,中,常用,脚本,和,函数,