Linux 在shell脚本中从属性文件读取数据
我正在编写一个shell脚本,它从属性文件中读取数据,并将数据存储到shell脚本中的一个局部变量中。问题是当我试图从文件中读取多个属性并形成一个字符串时,它会被重写Linux 在shell脚本中从属性文件读取数据,linux,shell,properties-file,Linux,Shell,Properties File,我正在编写一个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 pa
#!/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
请告诉我我在哪里出错?我确定文件
/opt/oracle/scripts/user.properties
包含行尾。(运行属性文件的文件
命令将显示…带有CRLF行终止符
)。使用dos2unix
或任何其他实用程序将其更改为LF
,应该可以使其正常工作
此外,与其说:
conn=$username$password$service_name
你可以说:
conn="${username}${password}${service_name}"
谢谢devnull,它工作得很好。我从没想过行尾会引起问题。@devnull你能告诉我们什么时候需要使用“{}”花括号,什么时候不需要。@Avenger供参考,请看一看,范围更广一些