用于在AIX OS上搜索子字符串的shell脚本

时间:2012-02-20 06:33:00

标签: shell

我需要从下面的代码中搜索字符串“-Xms”:

cat | ps -eaf|grep $LOGNAME | while read LINE
do
if [[ grep LINE = "-Xms" ]]; then
         pid=$(echo $LINE | awk '{print $2}')
    #echo $pid
     kill -9 $pid
 fi
 :
done

但是这段代码在AIX上不起作用。它在Linux上运行良好。

请帮忙。

2 个答案:

答案 0 :(得分:0)

我在脚本中做了一些小改动,就像创建一个用于存储grep返回的变量一样。 试试这个

ps -aef|grep $LOGNAME | while read LINE
do
PAT=`grep "\-Xms" $LINE`
if [ "$PAT" != "" ]; then
     pid=$(echo $LINE | awk '{print $2}')
    #echo $pid
     #kill -9 $pid
fi
done

答案 1 :(得分:0)

我没有测试过。 您的完整循环可以替换为:

ps -eaf | grep $LOGNAME| grep "-Xms"|awk '{print $2}'|xargs kill -9

来搜索子字符串:

cat | ps -eaf|grep $LOGNAME |grep "-Xms" while read LINE   
do   
pid=$(echo $LINE | awk '{print $2}')       
kill -9 $pid
done