我想用鹽來移動我的php.ini文件,但我只希望它在第一次運行時運行一次。我試圖用鹽粒來做到這一點,但這種做法並不一致。有任何想法嗎?使用grain.present的預期行爲是什麼?
#phpinifile.sls
{%- set php_ini_initialized = salt['grains.get']('PHP_INI_INITIALIZED') | default(False, true) %}
{% if php_ini_initialized == False %}
etc-php-70-cli-phpini:
file.managed:
- name: /etc/php/7.0/cli/php.ini
- source: salt://billing/sources/etc/php/7.0/cli/php.ini
- user: root
- group: root
- mode: 644
- context:
set_pear_path: True
- template: jinja
PHP_INI_INITIALIZED:
grains.present:
- value: True
{% endif %}
使用'grains.get',我使用這個語法來指定一個默認值:'salt ['grains.get']('my_grain',False)'。它可以很好地與'grains.get'和'pillar.get'配合使用。爲了您的實際需要,我同意@ gbrandsma的回答。但是'test -f'可以用來代替'ls'。 –