+ -
当前位置:首页 → 问答吧 → 二义性问题

二义性问题

时间:2010-08-14

来源:互联网

在Solaris中我用bms_pid=`ps -ef|grep abc|grep -v "grep"|awk '{print $2}'` 想查出abc线程并赋值为bms_pid可是报错说二义性错误,请问是怎么回事啊?

作者: zhanghai921   发布时间: 2010-08-14

我的Linux没报错…………

作者: yzx714   发布时间: 2010-08-14

引用 1 楼 yzx714 的回复:

我的Linux没报错…………

我的Cygwin和linux都没报错

楼主你分成几步试试 看看到底是那一步出错
ps -ef|grep abc
ps -ef|grep abc|grep -v "grep"
ps -ef|grep abc|grep -v "grep"|awk '{print $2}'

作者: steptodream   发布时间: 2010-08-14

我测试到ps -ef|grep abc|grep -v "grep"|awk '{print $2}'没有问题啊

作者: zhanghai921   发布时间: 2010-08-14

bms_pid=$(ps -ef|grep abc|grep -v "grep"|awk '{print $2}')
这样试试呢

作者: steptodream   发布时间: 2010-08-14

bms_pid=$(ps -ef|grep abc|grep -v "grep"|awk '{print $2}')
语法错误 我是用的tsh

作者: zhanghai921   发布时间: 2010-08-14

我在UnixCenter的Solaris上测试也没报错……

作者: yzx714   发布时间: 2010-08-14

我的环境是sun的5.9

作者: zhanghai921   发布时间: 2010-08-14

ps -ef|grep abc|grep -v "grep"|awk '{print $2}' 我执行出来有多个 进程号 是因为这个问题吗?

作者: zhanghai921   发布时间: 2010-08-14

引用 8 楼 zhanghai921 的回复:

ps -ef|grep abc|grep -v "grep"|awk '{print $2}' 我执行出来有多个 进程号 是因为这个问题吗?

在linux的bash下有多个也不会有问题
你可以找个只有一个进程号的测试一下啊

作者: steptodream   发布时间: 2010-08-14

既然是tcsh 里这样试试
set bms_pid=`ps -ef|grep abc|grep -v "grep"|awk '{print $2}'`

作者: steptodream   发布时间: 2010-08-14

我看了下好像是一个进程号的时候可以,多个就不行了

作者: zhanghai921   发布时间: 2010-08-14

bash下
[root@CentOS ~]# bms_pid=`ps -ef|grep httpd|grep -v "grep"|awk '{print $2}'`
[root@CentOS ~]# echo $bms_pid
2491 2493 2494 2495 2496 2497 2498 2499 2500

tcsh下
[root@CentOS ~]# bms_pid=`ps -ef|grep httpd|grep -v "grep"|awk '{print $2}'` bms_pid=2491: Command not found.
[root@CentOS ~]# set bms_pid=`ps -ef|grep httpd|grep -v "grep"|awk '{print $2}'`
[root@CentOS ~]# echo $bms_pid
2491 2493 2494 2495 2496 2497 2498 2499 2500

作者: steptodream   发布时间: 2010-08-14

奥 谢谢啊 我试下

作者: zhanghai921   发布时间: 2010-08-14

描述问题前,环境很重要!

作者: zhongyunde   发布时间: 2010-08-14

热门下载

更多