网上查阅shell定时脚本相关代码
其中有一句grep -v grep|awk 'awk {print $2}'不是很理解(基础知识太薄弱)
pid=`ps -ef|grep run.jar|grep -v grep|awk '{print $2}' `
经查阅资料
- grep -v 意为不包括;上述语句的意思是查找除了grep下的所有信息,如下图所示;

- awk '{print $2}'意为取第二个字段输出
所以代码的意思就是 查找除了grep操作的run.jar的进程之外的所有进程这一行信息的第二个字段的值并打印(即pid进程号)
扩展知识:
grep -n 打印行号
grep -E = egrep 匹配正则表达式
grep -i 忽略大小写
awk命令知识点较多,单独进行整理
参考资料:
本文详细解析了Shell脚本中使用ps、grep及awk命令组合获取特定进程PID的方法。通过实例说明如何排除grep自身进程干扰,准确提取目标进程ID。
grep -v grep|awk ‘{print $2}‘ ` 表示是什么意思&spm=1001.2101.3001.5002&articleId=101350925&d=1&t=3&u=69b3da2823ab42fdbf28d072a268e49f)
4203

被折叠的 条评论
为什么被折叠?



