📄 writelog
字号:
#! /bin/sh## $Revision: 1.3 $## Write a log file entry, by either mailing it or writing it safely.## Usage:## writelog name text... <input## where## name is 'mail' to mail it, or filename to append to.## =()<. @<_PATH_SHELLVARS>@>()=. /var/spool/news/data/innshellvarsMAXTRY=60## Parse arguments.if [ $# -lt 2 ] ; then echo "usage: $0 'logfile|mail' message ..." 1>&2 exit 1fiLOGFILE="$1"shiftMESSAGE="$@"## Handle the easy cases.case "X${LOGFILE}" inX/dev/null) exit 0 ;;Xmail) ${MAILCMD} -s "${MESSAGE}" ${NEWSMASTER} exit 0 ;;esac## We're sending to a file.LOCK=${LOCKS}/LOCK.`basename ${LOGFILE}`## Remember our PID, in case while is a sub-shell.PID=$$TRY=0export LOCK MAXTRY PID LOGFILE ARTICLE MESSAGE TRYwhile [ ${TRY} -lt ${MAXTRY} ]; do shlock -p ${PID} -f ${LOCK} && break sleep 2 TRY=`expr ${TRY} + 1`done## If we got the lock, update the file; otherwise, give up.if [ ${TRY} -lt ${MAXTRY} ]; then echo "${MESSAGE}" >>${LOGFILE} ${SED} -e 's/^/ /' >>${LOGFILE} echo "" >>${LOGFILE} rm -f ${LOCK}else ## This goes to errlog, usually. echo "$0: Cannot grab lock ${LOCK}, held by:" `cat ${LOCK}` 1>&2fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -