我创建了一个 shell 脚本/etc/init.d/
来启动/停止我的应用程序。该脚本基于最初位于/etc/init.d
. 此脚本从xxx.conf
配置文件中导入变量。
# Read configuration variable file if it is present
[ -r /etc/xxx.conf ] && . /etc/xxx.conf
在分配每个导入的变量并使用 echo 打印出值时,效果很好。
local A
A=$imported1
#print out exactly actual value of imported1
echo $A
local B
B=$imported2
#print out exactly actual value of imported1
echo $B
local C
C=$imported3
#print out exactly actual value of imported3
echo $C
但是,当将 A、B 和 C 修改为一个新字符串,甚至将imported1
, imported2
, and修改imported3
为一个新字符串时,这些值会相互重叠。
local D
D="$A $B $C"
#print out value is overlap string of A,B and C instead of 'A B C'
echo $D
D="$imported1 $imported2 $imported3"
#print out value is overlap string of imported1 ,imported2 and
#imported3,as same as result when do echo "$A $B $C"
echo $D
如何正确修改这些导入的变量?