首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

无法使用管道命令或重定向标准输出解决办法

2012-03-08 
无法使用管道命令或重定向标准输出在使用我们公司的一个程序的时候,无法利用管道命令或者重定向标准输出:$

无法使用管道命令或重定向标准输出
在使用我们公司的一个程序的时候,无法利用管道命令或者重定向标准输出:
$ cloudvm shutdown xxx

cloudvm是公司自己写的一个程序名,正常情况下在输出中会有'running'这个单词
shutdown和xxx都是参数

正常运行是可以的,但是无法利用以下命令进行管道命令或者重定向:

$ cloudvm shutdown xxx | grep 'running'
(结果仍然只是cloudvm shutdown xxx的全部输出)

$ cloudvm shutdown xxx > aaa.txt
(结果仍然只是cloudvm shutdown xxx的全部输出,并且aaa.txt是空的)

请问这是怎么回事?


[解决办法]
输出是标准出错的输出,要看到效果可以这样
$cloudvm shutdown xxx 2> aaa.txt && cat aaa.txt | grep 'running' && rm aaa.txt
[解决办法]

Assembly code
cloudvm shutdown xxx 2>&1 | grep 'running' && rm aaa.txt
[解决办法]
flag=`cloudvm shutdown xxx 2>&1 | grep 'running' | wc -l`
if ["$flag" -gt 0]
then
 echo "ok"
fi

热点排行