为什么单独执行和脚本中的取值不一样?

Samdy_Chan 2014-04-01 11:52:19
大家好:
我的系统环境是 Solaris 10,我单独执行这条命令取进程数的值 ps -ef | grep -i nbftclnt | grep -c -v grep 是0,
但放在以下脚本中:
#!/bin/bash
ps_cnt=`ps -ef | grep -i nbftclnt | grep -c -v grep`

echo $ps_cnt

if [ $ps_cnt -lt 1 ];then
/usr/openv/netbackup/bin/nbftclnt
fi
---
echo $ps_cn 输出的值是2,检查是没有nbftclnt进程存在的。
---
请问这是什么原因导致的? 应怎么在脚本中准确取进程数?
谢谢!
...全文
576 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljc007 2014-04-01
  • 打赏
  • 举报
回复
原因: http://bbs.chinaunix.net/thread-733138-1-1.html 解决方法:
PS_STR=$(ps -ef)
echo "$PS_STR" | grep -i nbftclnt | grep -c -v grep

1,543

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 Solaris
社区管理员
  • Solaris
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧