Как добавить операторы экспорта в bash_profile с помощью Augeas и Puppet - PullRequest
0 голосов
/ 14 мая 2018

У меня есть 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 ]

0 голосов
/ 14 мая 2018

Проект Augeasproviders имеет для этого тип shellvar :

shellvar { "bash_profile-${user}-${name}":
  ensure   => exported,
  target   => "/home/${user}/.bash_profile",
  variable => $variable_name,
  value    => $literal_value,
}

Существуют также варианты управления значениями в кавычках или массивах.

0 голосов
/ 14 мая 2018

Это, кажется, делает трюк:

  augeas { "bash_profile-${user}-${name}":
    incl    => "/home/${user}/.bash_profile",
    lens    => 'Shellvars.lns',
    changes => [
      "set ${variable_name} '\"${literal_value}\"'",
      "set ${variable_name}/export ''",
      ],
  }
...