脚本学习 sed awk 写 pidfind 从 ps -x 找到进程名的pid

来源:互联网 发布:网络机顶盒怎么看电视 编辑:程序博客网 时间:2024/05/29 18:17
#!/bin/sh


#zz# 变量赋值,前级输出作为 | 管道后级的输入; 这里要用ESC线面的 ` 即反引号包含起来

#pid=` ps -A | grep init | awk {'printf $1'}`

#pid=` ps -A | grep $1 | awk {'printf $1'}`


#zz# 变量 $1 要用 '$1' 两个单引号包起来

#pid=` ps -A | sed -n '/'${1}'/p' | awk {'printf $1'}`
#pid=` ps -A | sed -n '/'${1}'/1p' | awk {'printf $1'}`


if [ ${1} ]; then
# pid=` ps -A | sed -n '/'$1'/p' | awk {'printf $1'} `;
pid=` ps -A | grep $1 | awk {'printf $1'} `
echo pid of init is ${pid}
else
echo "Usage: ${0} task_name"

fi


保存为 findpid.sh ,再在当前路径下执行

# chmod a+x findpid.sh

# findpid.sh init

会显示

pid of init is 1

0 0