Как добавить операторы экспорта в bash_profile с помощью Augeas и Puppet
У меня есть Puppet + Augeas, работающий для назначения значений переменных в bash_profile, однако я не нашел способа экспортировать переменные из файла.
augeas { "bash_profile-${user}-${name}":
incl => "/home/${user}/.bash_profile",
lens => 'Shellvars.lns',
changes => "set ${variable_name} '\"${literal_value}\"'",
}
Результаты в:
# .bash_profile
variable="value"
Но то, что мне нужно, это:
# .bash_profile
export variable="value"
# or
variable="value"
export variable
Похоже, этот билет кукольный должен указывать в правильном направлении, но я не могу понять, как написать экспортные заявления
2 ответа
Проект https://augeasproviders.com/ имеет shellvar
типа для этого:
shellvar { "bash_profile-${user}-${name}":
ensure => exported,
target => "/home/${user}/.bash_profile",
variable => $variable_name,
value => $literal_value,
}
Есть также варианты управления значениями в кавычках или массивах.
Это, кажется, делает трюк:
augeas { "bash_profile-${user}-${name}":
incl => "/home/${user}/.bash_profile",
lens => 'Shellvars.lns',
changes => [
"set ${variable_name} '\"${literal_value}\"'",
"set ${variable_name}/export ''",
],
}