当前位置:  操作系统/服务器>linux

linux中常用脚本和函数分享

    来源: 互联网  发布时间:2014-10-13

    本文导语:  #查找当前目录中是否存在指定目录,若不存在,则创建之 代码如下:function mkdir_1{  if test ! -d $1    then     mkdir $1  fi}#指定文件中的"prefix = .*"串替换为"prefix=/home/gnome-unicore-install2/usr/" #可以用来作为sed用法的参考 代码如下:f...

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

代码如下:

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下如何编辑脚本(可以直接运行脚本访问WINDOW系统)
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • Linux下如何编写脚本文件
  • 关于linux的脚本运行。。。求高人指点
  • linux重新启动后自动运行脚本程序
  • 谁能简单介绍一下LINUX上的各种语言脚本的功能.
  • linux shell脚本
  • 请问关于linux脚本的一个问题。
  • LINUX的系统管理脚本
  • Linux脚本
  • linux脚本中命令运行结果判断
  • 求助:linux脚本语言写SQL语句
  • window下通过ftp执行linux脚本?
  • 如何在Linux下使用脚本实现程序的自动重启!望各位详解!
  • 求linux下定时重启服务的脚本
  • linux shell脚本无法改变环境变量
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • 求助:Linux 脚本如何提取MAC地址
  • 请教斑竹,在linux下怎么执行位于其他机器上的脚本
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 在dos下访问内存的MK_FP函数在linux下对应什么函数?int86()函数呢?
  • linux c下利用srand和rand函数生成随机字符串
  • 哪位大侠有unix/linux的函数和函数所在的文件
  • Linux下c基于openssl生成MD5的函数
  • linux中,动态库中的函数如何调用静态库中的函数
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • linux0.11内核有些函数是封装的吗?比如timer_interrupt()函数。
  • Linux下gettimeofday()函数和clock()函数:精确到毫秒级的时间
  • linux下自带了soup函数库和XML处理函数库了吗?
  • linux c 生成随机数srand函数和rand函数介绍及代码示例
  •  
    本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.169IT.COM)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 100分求:linux常用命令和C语言常用函数帮助文档
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 调查:兄弟们,你们常用linux开发什么软件?哪类软件?常用什么开发工具?
  • 最常用的Linux/Unix系统版本是什么版本啊?
  • 高分求常用linux或者unix指令
  • linux 内核空间如何获取当前时间(常用格式)
  • 请问Linux下常用的Office系统是什么呀
  • 我要装个Linux想在该系统下做C++开发,我想和道常用的是那个版本的系统??
  • 用java的话,能调用linux的一些常用命令么?比如find等等
  • 【求教】linux vi编辑器底行模式下有哪些常用命令?
  • linux新手想请问大家你们在linux下通常用什么开发语言和工具(C多点还是C++多点还是pascal ?还有工具方面?)
  • 我用的是LINUX7.3, 请问LINUX下常用的FTP软件是什么?最好留下下载地址1
  • 请大家介绍一下你在linux下的常用工具,以生活,娱乐,游戏为主,最好和window下的软件来个比较
  • linux常用操作的命令?
  • 请教Linux下的常用配置
  • Linux常用命令
  • 急,如何找到linux下常用命令的实现代码,如ls,less,top等
  • 如何在windows中看linux中常用的压缩文件格式rpm呢?
  • Linux那个是免费的?那个可以用作服务器(web、数据库)?常用是那些厂家的?
  • 请问大家在linux下通常用什么工具进行开发
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2019,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号-3