我正在寻找像. PATH_TO_PROPERTYFILE
这样的属性文件。如果在读取值后我更改了一个,如何更新原始文件以反映该修改后的值?
我试过$SOURCED_ARRY_NAME = ("${TEMP_ARRAY[@]}")
,但这没有帮助。此外,我希望更改在属性文件中更新回来。这基本上是从属性文件访问数组并修改它。
文件名格式:abc.properties
services_deployed=()
xyzapps_deployed=()
答案 0 :(得分:1)
您可以生成使用declare -p
将变量设置为当前值的代码。
因此:
declare -p SOURCED_ARRAY_NAME >>"PROPERTYFILE"
...会将SOURCED_ARRAY_NAME
设置为新值的代码附加到名为PROPERTYFILE
的文件的末尾。
因此,如果您知道可以在配置文件中设置的变量名称的完整列表,则可以对所有这些名称执行此操作:
vars=( SOURCED_ARRAY_NAME othervar1 othervar2 othervar3 )
write_config() {
local varname
for varname in "${vars[@]}"; do
[[ ${!varname+set} ]] && declare -p "$varname"
done
}
write_config >"propertyfile"