为保证某个目录下的文件系统有可用的空间,可以进行一些自动的删除操作,下面的脚本是在目录下文件数达到15之后,删除前5个文件,如下:
-bash-3.00# more rm_fileN-M.s
#!/bin/sh usage=`ls -l /oracle/backup|wc -l` if [ $usage -ge 15 ] then ls -l /oracle/backup |grep arch|awk '{print $9}'|head -5 > /tmp/rm_arch for i in `cat /tmp/rm_arch` do rm -f /oracle/backup/$i done echo "complete remove file!" date fi
-bash-3.00# sh rm_fileN-M.sh
complete remove file!2012年07月25日 星期三 15时14分19秒 CST
下面是shell编程条件判断的基本知识:
整数比较
-eq 等于,如:if [ "$a" -eq "$b" ]-ne 不等于,如:if [ "$a" -ne "$b" ]-gt 大于,如:if [ "$a" -gt "$b" ]-ge 大于等于,如:if [ "$a" -ge "$b" ]-lt 小于,如:if [ "$a" -lt "$b" ]-le 小于等于,如:if [ "$a" -le "$b" ]< 小于(需要双括号),如:(("$a" < "$b"))<= 小于等于(需要双括号),如:(("$a" <= "$b"))> 大于(需要双括号),如:(("$a” > "$b”))>= 大于等于(需要双括号),如:(("$a” >= "$b”))变量上加的引号似乎有与无都能执行,区别在哪还不太清楚。字符串比较= 等于,如:if [ "$a" = "$b" ]== 等于,如:if [ "$a" == "$b" ],与=等价