var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-333696-1']); _gaq.push(['_trackPageview']); _gaq.push(['_trackPageLoadTime']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
  • 2007年09月14日

    百度Linux笔试题

    分类:

    题目来自网上。

    Linux

    1. a.log文件中提取包含"WARNING""FATAL",同时不包含"IGNOR"的行,然后提取以":"分割的第5个字段

    2. 编写一个脚本,只想简单的减法运算,要求提示输入变量

    3. Shell脚本阅读(解释下面执行的功能),请挑出下面程序或脚本中的错误,并说明错在哪里。

    #!/bin/bash

    #监控cpuserpoint端口是否正常

    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>

     

    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后面的>去掉。

    分享到:

    历史上的今天:

    Windows命令行杂烩 2009年09月14日

    评论

  • 是去掉引号,打错了
  • 首先谢谢你分享,不过你的某些答案是又错误的(我是初学者,也许是与其他的设置有关,也许是你不小心。。。),我改后才能运行正确:
    1、 {grep -invert-match "IGNOR" a.log | grep -line-number "WARNING\|FATAL" | cut ':' -f 5}应该改为{ grep -invert-match "IGNOR" a.log | grep -line-number "WARNING\|FATAL" | cut -d ':' -f 5 } 才能输出结果,-d选项制定分隔符;
    2、第二题的第二种的答案的最后语句,应该把最后的"$NUM3"去掉分号。
    回复sunny说:
    谢谢关注。
    2008-12-26 19:15:34