#!/bin/bash
#清除/var/log下的log文件
LOG_DIR=/var/log
ROOT_UID=0
LINES=50
E_XCD=66 #到底是整数值还是ASCII码?
E_NOTROOT=67
if [ "$UID" -ne "$ROOT_UID" ]; then
echo "Must be root to run this script."
exit $E_NOTROOT #echo 和exit两条语句要加大括号{}吗?
fi
#if [ -n "$1" ]; then
# lines=$1
#else
# lines=$LINES
#fi
#或者采用如下case结构
E_WRONGARGS=65
case "$1" in
"" )
lines=50;;
*[!0-9]* )
echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;
* )
lines=$1;;
esac
#echo $lines
cd $LOG_DIR
if [ `pwd` != "$LOG_DIR" ]; then #wrong # 或者 if[ "$PWD" != "$LOG_DIR" ]
#if [ "$PWD" != "$LOG_DIR" ]; then
echo "Can't change to $LOG_DIR."
exit $E_XCD
fi
#或者采用||运算符
# cd $LOG_DIR || { echo "Can't change to $LOG_DIR." >&2 ; exit $E_XCD } #>&2是什么意思?
tail -$lines messages > mesg.temp
mv mesg.temp messages
cat /dev/null > wtmp
# cat /dev/null : > wtmp
echo "Logs were cleaned up."
exit 0
脚本初步小问题
-
- 帖子: 67
- 注册时间: 2009-11-12 20:27
-
- 帖子: 67
- 注册时间: 2009-11-12 20:27
Re: 脚本初步小问题
请看斜体部分