在变量中运行lppchk - AIX

时间:2015-11-24 19:01:35

标签: ksh

当我尝试这样做时:

LPPCHK=`lppchk -v`
if [[ "$LPPCHK" != "" ]]
then
    echo "$LPPCHK"
fi

但是当它到达变量时它始终运行“lppchk”,将它回显到屏幕并且不将它保存在变量中...... ??这是我见过的唯一一个这样做的命令,全部其他人在这种情况下工作正常..

思想?

1 个答案:

答案 0 :(得分:1)

代码完成你的要求:
在子shell中执行lppchk -v,捕获stdout(正常输出)并将其放入变量LPPCHK中。
检查LPPCHK是否已填满并回显内容 那么为什么在if语句之前看到lppchk -v的结果呢?

lppchk -v将其输出写入stderr时,您仍会在屏幕(控制台)上看到它。您可以使用

将stderr重定向到stdout
LPPCHK=`lppchk -v 2>&1`
# Another notation, using $() and avoiding backtics
LPPCHK=(lppchk -v 2>&1) 
# Also consider using lowercase shell variables