我的第一个Augeas脚本看起来类似于:
set /augeas/load/Properties/lens Properties.lns
set /augeas/load/Properties/incl /firstapp/WEB-INF/classes/some.properties
load
set /files/firstapp/WEB-INF/classes/some.properties/PROPERTY_1 "VALUE A"
set /files/firstapp/WEB-INF/classes/some.properties/PROPERTY_2 "VALUE B"
set /files/firstapp/WEB-INF/classes/some.properties/PROPERTY_3 "VALUE C"
save
set /augeas/load/Properties/lens Properties.lns
set /augeas/load/Properties/incl /secondapp/WEB-INF/classes/more.properties
load
set /files/secondapp/WEB-INF/classes/more.properties/PROPERTY_4 "VALUE D"
set /files/secondapp/WEB-INF/classes/more.properties/PROPERTY_5 "VALUE E"
set /files/secondapp/WEB-INF/classes/more.properties/PROPERTY_6 "VALUE F"
save我运行它时,例如:
augtool -LeAf adjust-properties.aug -r $WEB_SERVER_ROOT/现在,我想知道是否可以通过不一直重复重复路径元素来缩短脚本。
解决方案
根据this answer,我可以更新我的脚本,例如:
transform Properties.lns incl /firstapp/WEB-INF/classes/some.properties
transform Properties.lns incl /secondapp/WEB-INF/classes/more.properties
load
set /augeas/context /files/firstapp/WEB-INF/classes/some.properties
set PROPERTY_1 "VALUE A"
set PROPERTY_2 "VALUE B"
set PROPERTY_3 "VALUE C"
set /augeas/context /files/secondapp/WEB-INF/classes/more.properties
set PROPERTY_4 "VALUE D"
set PROPERTY_5 "VALUE E"
set PROPERTY_6 "VALUE F"
save发布于 2015-08-13 16:27:59
有几件事你可以做。
首先,在最近的augeas版本中,您可以使用transform而不是load命令。
然后,可以将/augeas/context设置为使用较短的相对路径。
最后,可以使用defvar声明变量并在路径表达式中重用它们。
https://stackoverflow.com/questions/31992891
复制相似问题