Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在shell脚本中从属性文件读取数据_Linux_Shell_Properties File - Fatal编程技术网

Linux 在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

我正在编写一个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

请告诉我我在哪里出错?

我确定文件
/opt/oracle/scripts/user.properties
包含行尾。(运行属性文件的
文件
命令将显示
…带有CRLF行终止符
)。使用
dos2unix
或任何其他实用程序将其更改为
LF
,应该可以使其正常工作

此外,与其说:

conn=$username$password$service_name
你可以说:

conn="${username}${password}${service_name}"

谢谢devnull,它工作得很好。我从没想过行尾会引起问题。@devnull你能告诉我们什么时候需要使用“{}”花括号,什么时候不需要。@Avenger供参考,请看一看,范围更广一些