百度Linux笔试题


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

fi>

A:

1. grep -invert-match "IGNOR" a.log | grep -line-number "WARNING\|FATAL" | cut ':' -f 5 或

grep -E 'warning|fatal' file | grep -v ignor | awk -F ":" '{print $5}'

2. #!/bin/bash

read Arg1

read Arg2

Result=`expr $Arg1 - $Arg2`

echo $Result 或

#!/bin/bash

declare -rx SCRIPT=${0##*/}

declare -ix NUM1

declare -ix NUM2

declare -ix NUM3

read -p "input a number" NUM1

read -p "input another number" NUM2

let "NUM3=NUM1-NUM2"

printf "the result of $NUM1 minus $NUM2 is %d\n" "$NUM3"

3. 命令行替换用反引号,if [$?==0] 应该写做if [ $?=0 ],用来判断上次命令是否执行成功;

倒数第二行应该是>/dev/null,最后fi后面的>去掉。

相关内容

    暂无相关文章