脚本初步小问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
sharp_minminzhu
帖子: 67
注册时间: 2009-11-12 20:27

脚本初步小问题

#1

帖子 sharp_minminzhu » 2010-03-14 15:49

#!/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
sharp_minminzhu
帖子: 67
注册时间: 2009-11-12 20:27

Re: 脚本初步小问题

#2

帖子 sharp_minminzhu » 2010-03-14 15:50

:em06 请看斜体部分
回复