Linux Shell - 如何将变量分配给二进制表达式?

时间:2017-05-23 14:35:23

标签: linux bash shell command-line

我有以下代码:

TEMP1=$(awk '$12 == "beacon_server" {print}' < numbers2.log | awk -v var="$i" '{total += $var} EN    D {print total/NR}')

其他TEMP变量几乎相同。

现在我想计算以下内容并将其保存在一个新变量RESULT:

RESULT=$(expr 100 - $TEMP1 - $TEMP2 - $TEMP3 - $TEMP4)

错误消息告诉我有一个非整数参数 - &gt; expr:非整数参数

如何解决此错误?

1 个答案:

答案 0 :(得分:1)

错误消息表示其中一个参数不是一个整数来查找哪个并解决问题,你必须显示变量内容,因为没有提供文件numbers2.log我们无法找到值。

回声变量

<?php if ($defects_new->num_rows > 0){



while ($defect = $defects_new->fetch_assoc()){ ?>
    <table border="1" width="90%">
        <tr>
            <td colspan="2">
                <h2 style="margin:0px; font-size:25px; line-height:25px;">#<?php echo $defect['Defect_ID'] ?> - <?php echo $defect['Title'] ?> - <?php echo $defect['Found_By'] ?></h2>
            </td>
        </tr>
        <tr>
            <td width="80%">
                <?php echo $defect['Information'] ?>
                <br />
                <br />
            </td>
            <td>
                <form name="assign<?php echo  $defect['Defect_ID'] ?>" method="post" action="index.php">
                    <select name="Owner">
                    <?php $allusers = $conn->query($selectallusers); 
                          $users = $allusers->fetch_assoc();//here
                         foreach($users as $user){ ?>
                        <option value="<?php echo $user['Username']?>"><?php echo $user['Username'] ?></option>
                    <?php } ?>
                    </select>
                </form>
            </td>
            </tr>
        </table>
        <br />
        <br />
<?php } 
} else {
    echo "There are no new defects. Good job! :)";
}
 ?>

或者

echo "TEMP1=$TEMP1"
...

计算浮点数值

declare -p ${!TEMP*}

exit | awk "END{ print 100 - $TEMP1 - $TEMP2 - $TEMP3 - $TEMP4 }"