使用命令结果作为Var(Shell)

时间:2015-07-23 11:16:38

标签: shell

为什么这么简单的东西不起作用? echo“hola”有效,但它从未显示“1 es igual a 1”它有什么问题?我很抱歉4英语!

#!/bin/tcsh
VAR=`grep 'hola' AL24CL.log`
echo $VAR
VAR2='hola'
if [ '$VAR' = '$VAR2' ];
then
echo "1 es igual a 1"
fi

2 个答案:

答案 0 :(得分:0)

假设VAR值正确,则比较永远不会匹配,因为单引号(')会阻止变量扩展,因此您要比较两个字符串文字。尝试使用需要扩展的双引号("),即替换

if [ '$VAR' = '$VAR2' ];

if [ "$VAR" = "$VAR2" ];

答案 1 :(得分:0)

我已经解决了这个问题,感谢所有回答问题的人!

VAR=`grep ">>> Total: 0 Alarms (0 Critical, 0 Major)" AL24CL.log`
VAR2="$VAR"
if [ "$VAR2" = ">>> Total: 0 Alarms (0 Critical, 0 Major)" ];
    then
    echo "NO TIENE ALARMAS"
    tail +55 AL24CL.log
else
    echo "Tiene alarmas"
fi