码迷,mamicode.com
首页 > 系统相关 > 详细

Linux shell实战(ipcs工具)

时间:2016-11-29 14:46:05      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:对象   bsp   空行   message   end   ash   目的   code   for   

#!/bin/bash

WHOAMI=`whoami`


if [ $# -lt "1" ] 
then
    echo [程序名] [操作对象]
    exit 0
fi

#需要两个参数,参数一:起始行,参数二:结束行,参数三:操作对象
function seddata
{
    for numx in `ipcs | sed -n ${1},${2}p | sed -n /${WHOAMI}/p | awk {print $2}`
    do
        ipcrm ${3} ${numx}
    done
}

function startp
{
    case $1 in
    "shm")
            START=`ipcs | sed -n /shmid/=`
            START=`expr $START + 1`
            END=`ipcs | sed -n /Semaphore/=`
            END=`expr $END - 2`
            #实际上,直接匹配空行会更简单,这里是为了学习目的
            #END="/^$/"
            echo "start=$START;end=$END"
            seddata $START $END shm
        ;;
    "sem")
        START=`ipcs |sed -n /semid/=`
        START=`expr $START + 1`
        END=`ipcs | sed -n /Message/=`
        END=`expr $END - 2`
        seddata $START $END sem 
    ;;
    "msq")
        START=`ipcs | sed -n /msqid/=`
        START=`expr $START + 1`
        END="/^$/"
        seddata $START $END msq
    ;;
    *)
            echo "错误的参数!"
        ;;
    esac
}

if [ "$1" = "all" ]
then
    startp shm
    startp sem
    start msq
else
    startp $1
fi



echo "脚本执行成功!"

 

Linux shell实战(ipcs工具)

标签:对象   bsp   空行   message   end   ash   目的   code   for   

原文地址:http://www.cnblogs.com/zhanggaofeng/p/6113199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!