我希望记录/home/michael/client
的标准输出,但希望删除包含各种文本的行。这是如何实现的?以下是我尝试过的。谢谢
SCRIPT=/home/michael/client
RUNAS=michael
PIDFILE=/var/run/client.pid
LOGFILE=/var/log/client.log
PROG="Client Interface"
start() {
if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE"); then
echo "$PROG already running" >&2
return 1
fi
echo "Starting $PROG…" >&2
local CMD="$SCRIPT >&3 2>&1 & echo \$!"
#local CMD="$SCRIPT | grep -v 'Non-block' | grep -v 'Connecting with ssl...' >&3 2>&1 & echo \$!"
cd `dirname $SCRIPT`
su -c "$CMD" $RUNAS 3>>"$LOGFILE" >"$PIDFILE"
#su -c "$CMD" $RUNAS | grep -v "Non-block" | grep -v "Connecting with ssl..." 3>> "$LOGFILE" >"$PIDFILE"
#su -c "$CMD" $RUNAS 3>> grep -v "Non-block" | grep -v "Connecting with ssl..." | "$LOGFILE" >"$PIDFILE"
echo "$PROG started" >&2
}
答案1
“分而治之”
你能编写一个简单的 bash 脚本来完成你的任务吗?
然后尝试一下苏
然后尝试一下诺哈普
最后尝试作为 init.d 脚本运行