linux中常用脚本和函数分享

2019-09-23 09:48:31王冬梅

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

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 " "
}

#打印一个菜单的做法