gpt4 book ai didi

python - Saltstack 变量

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:08 24 4
gpt4 key购买 nike

我对 salt 中的变量有疑问。我正在尝试使用 if 语句通过 salt 创建更复杂的状态。

示例工作:

{% set old_stable = salt['cmd.run']('cd /home/project_name && ls -t|grep 2|grep -v tar.gz|tail -n +2|head -n 1') %}
{% set time_date = salt['cmd.run']('date +%Y%m%d%H%M') %}
{% if salt['cmd.run']('ls -lt /home/project_name/ | wc -l') == 2 %}
<STATE>
{% endif %}

所以,问题是:我可以定义“/home/project_name/”之类的变量 {{ old_stable }} 放在文件顶部

在 if 语句中插入变量不起作用

例子(不工作)

{% set project = '/home/project_name' %}
{% if salt['cmd.run']('ls -lt {{ project }}') | wc -l') == 2 %}
<STATE>
{% endif %}

我的代码是

{% set project = 'test_web_tool' %}

{% if salt['cmd.run']('ls -lt /home/project-user/project 2>/dev/null| wc -l') != "0" %}

output:
cmd.run:
- names:
- echo "Rollback directory {{ project }}"
- cwd: /root

{% else %}

error_output:
cmd.run:
- names:
- echo "This is the last directory. Cant remove it"
- cwd: /root

{% endif %}

最佳答案

您可能想使用 ~ operator连接两个字符串:

{% set project = '/home/project_name' %}
{% if salt['cmd.run']('ls -lt ' ~ project ~ ' | wc -l') == 2 %}
<STATE>
{% endif %}

关于python - Saltstack 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21855214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com