題目:
1. 從a.log文件中提取包含"WARNING"或"FATAL",同時(shí)不包含"IGNOR"的行,然后提取以":"分割的第5個(gè)字段
2. 編寫一個(gè)腳本,只想簡(jiǎn)單的減法運(yùn)算,要求提示輸入變量
3. Shell腳本閱讀(解釋下面執(zhí)行的功能),請(qǐng)?zhí)舫鱿旅娉绦蚧蚰_本中的錯(cuò)誤,并說明錯(cuò)在哪里。
#!/bin/bash
#監(jiān)控cpuser的point端口是否正常
logname="/home/forum/log/lpointlog.wf"
flagfile="/home/forum/log/lognum.txt"
lodnum=sed -n "1,1 p"$flagfile
newnum=wc -l ${logname}
echo $newnum >$flagfile
totalnum=expr $newnum -$oldnum
tail -n $totalnum $logname |grep "POINT_THREAD WARNING"
if [$?==0]
then
mail -s "cpuser point "端口異常,請(qǐng)?zhí)幚?/span>!" test@aa.com</dev/null
fi>
答案:
1.
#!/bin/bash
awk -F: '{if ($0~/(WARNING|FATAL)/ && $0!~/IGNOR/) {print $5}}' a.log
2.
#!/bin/bash
read -p "input a num:" num1
read -p "input another num:" num2
result=`expr $num1 - $num2`
#let "result=num1-num2"
#let result=num1-num2
echo $result
~
3.
命令行替換用反引號(hào),if [$?==0] 應(yīng)該寫做if [ $?=0 ],用來判斷上次命令是否執(zhí)行成功;
倒數(shù)第二行應(yīng)該是>/dev/null,最后fi后面的>去掉。原文:http://blog.csdn.net/do2jiang/archive/2009/09/28/4604692.aspx