Shell脚本 - 将字符串与变量连接后的奇怪行为

时间:2017-02-28 14:49:58

标签: shell sh

我正在从shell脚本中读取<?php $conn = mysqli_connect("localhost", "root", "root", "museum"); $sql = "SELECT bgBNPage FROM general "; $result = mysqli_query($conn, $sql); while ($row= mysqli_fetch_array ($result) ) { echo ('<img src="' . $row['bgBNPage'] . ' ">'); } ?> 文件。 我想为某些键读取一些值,之后想要将它追加到某些字符串之间,但输出很奇怪。

<canvas id="bgCanvas"  width="236" height="422" style="border:1px solid #000000; position:absolute; top:68px; left:38px;">
  <img id="logo2" src="<?php $row['bgBNPage'] ?>" >
  Your browser does not support the HTML5 canvas tag.
</canvas>

我的Test.properties就像这样

.properties

执行此脚本后,我期待

#!/bin/bash
# Script used to read Property File
FILE_NAME="Test.properties"
prop_value=$(cat ${FILE_NAME} | grep Address)
echo "ABC${prop_value}DEF"

但是我得到了像

这样的输出
Name=Pravin
Age=25
Address=Mumbai
asd=asd

这里会出现什么问题?

如果我在脚本中定义任何变量,它可以工作,但是当我使用命令扩展从文件中读取它时,它不起作用。

1 个答案:

答案 0 :(得分:1)

要在展开时修改变量的回车,您可以使用${varname%$'\r'}。因此:

echo "ABC${prop_value%$'\r'}DEF"

最好将属性文件保存为本机Unix文本文件,该文件根本不包含回车符。