shell脚本功能函数集合
来源:互联网 发布:如何开发sass软件 编辑:程序博客网 时间:2024/06/05 13:16
function mkdir_1{if test ! -d $1 thenmkdir $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 FILENAMEfunction 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 $1cp $1 $1.bakcat $1.bak | grep -v -e "$2" >$1 }
#用途:删除文件中包含line1或(和?)line2的行
#格式:delete_line filename line1 line2
function delete_line_no{chmod +w $1cp $1 $1.baksed $2,$3'd' $1.bak>$1rm $1.bak}
#用途:在LINE_NO指定的行插入字符串CONTENT
#可以用来作为sed用法的参考
#格式: add_line FILENAME LINE_NO CONTENT
function add_line{chmod +w $1cp $1 $1.baksed -e $2 'i\' "$3" '' $1.bak > $1rm $1.bak}
#用途:检查含有"PC24"代码的程序并打印出来
#格式: check_PC24 //after installation
function check_PC24{echo "now comes the PC24 checking...". $COMMAND_UNICORE/shell/shell_PC24 >& /dev/nullif test -s $COMMAND_UNICORE/PC24_resultthen :echo "The following file contains PC24 problems: $COMMAND_UNICORE/PC24_result "elseecho "No PC24 problem found"fi}
#打印标题
displayheader() {echo " *****************************************"echo " * IeeeCC754 testing tool *"echo " *****************************************"echo " "}
#打印一个菜单的做法
displayplatformmenu() {#clear the screencleardisplayheaderecho " a) SunSparc "echo " b) IntelPentium "echo " c) AMD "echo " d) Unicore32 "echo " e) Unicore32(with FP2001) "echo " "echo -n " select a Platform > "}
#接收一个菜单输入
displayplatformmenuread answercase ${answer} ina) TARGET="BasicOp";;b) TARGET="Conversion";;*) badchoice;;esac
#查找当前目录下是否存在file_name文件
#可以用来作为if用法的参考
detectfile_name() {if [ ! -f file_name ]thenecho "Error: file_name does not exist. Please check"exit 1;elseecho "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`docvlc $item/$subitemdone}cvitem $item}done
#一个login的例子
if ($?path) thenset path=($HOME/bin $path)elseset path=($HOME/bin /usr/bin .)endifif ( ! $ {?DT} ); thenstty dec newtset -I -Qendifset mail=/usr/spool/mail/$USER
#关于if使用的几个例子
#执行一个命令或程序之前,先检查该命令是否存在,然後才执行
if [ -x /sbin/quotaon ] ; then
echo "Turning on Quota for root filesystem"
/sbin/quotaon /
fi
n #得到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
- shell脚本功能函数集合
- shell脚本实例集合
- shell脚本常用功能
- shell 脚本功能汇总
- shell脚本:函数使用
- shell脚本中的函数
- shell脚本--创建函数
- shell脚本之函数
- Shell脚本main函数
- shell脚本之函数
- shell脚本函数
- bash shell脚本常用功能
- shell脚本实现进度条功能
- shell函数功能
- shell脚本错误集合(持续)
- Linux 好用shell脚本集合
- shell脚本main函数问题
- shell脚本的函数返回
- ant 可执行jar
- PHP防止恶意调用 路径转换 更方便
- Oracle8的OCI编程步骤
- 跋涉不止(11)
- Hibernate持久化对象的生命周期(精)
- shell脚本功能函数集合
- android系统中自带的图标大全
- Hadoop权威指南-1
- sudo 和su的区别
- 算法笔记(选择算法)
- cocos2d-x 游戏开发新手细节问题
- poj 1146 ID Codes
- Hibernate联合主键映射规则和数据查询原理
- Shell脚本编程的常识