【问题标题】:Augeas: How to shorten tree paths?Augeas:如何缩短树路径?
【发布时间】:2015-08-13 15:45:33
【问题描述】:

我的第一个 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

【问题讨论】:

    标签: properties-file augeas


    【解决方案1】:

    您可以做几件事。

    首先,在最近的 augeas 版本中,您可以使用 transform 代替加载命令。

    然后,您可以将/augeas/context 设置为使用较短的相对路径。

    最后,您可以使用defvar 声明变量并在路径表达式中重用它们。

    【讨论】:

    • 感谢这些有用的提示。我将更新的示例脚本添加到我的问题中。通过defvar 定义的变量不知何故不能用作transform 的第三个参数..
    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 2018-04-26
    • 1970-01-01
    • 2020-04-26
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多