5

我正在编写一个 shell 脚本,它从属性文件中读取数据并将其存储到 shell 脚本中的局部变量中。问题是当我试图从文件中读取多个属性并形成一个字符串时,它会被覆盖

#!/bin/bash
. /opt/oracle/scripts/user.properties

echo $username
echo $password
echo $service_name

conn=$username$password$service_name
echo $conn

username=xxxx password=yyyy 和 service_name=zzzz 的值我希望输出是

xxxxyyyyzzzz 

但不是那样,我得到的输出为

zzzz

请告诉我我在哪里做错了?

4

1 回答 1

9

我确定该文件/opt/oracle/scripts/user.properties包含CR+LF行尾。(运行file属性文件的命令会说... with CRLF line terminators)。将它们更改为LFusingdos2unix或任何其他实用程序应该可以使其正常工作。

此外,不要说:

conn=$username$password$service_name

你可以说:

conn="${username}${password}${service_name}"
于 2013-09-10T06:12:24.433 回答