題目:
1.
從a.log檔案中提取包含"WARNING"或"FATAL",同時不包含"IGNOR"的行,然後提取以":"分割的第5個欄位
2.
編寫一個指令碼,只想簡單的減法運算,要求提示輸入變數
3. Shell指令碼閱讀(解釋下面執行的功能),請挑出下面程式或指令碼中的錯誤,並說明錯在哪裡。
#!/bin/bash
#監控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 "連接埠異常,請處理!"
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.
命令列替換用反引號,if [$?==0]
應該寫做if [ $?=0 ],用來判斷上次命令是否執行成功;
倒數第二行應該是>/dev/null,最後fi後面的>去掉。
完整內容所在目錄:http://www.mythroad.net/tag/q_written_examination_and_interview_code_title/
更多精彩內容來自:魔豆之路 - 神秘前路,待撥迷霧http://www.mythroad.net