首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非条件betwen变量

非条件betwen变量
EN

Stack Overflow用户
提问于 2022-03-09 18:12:32
回答 1查看 44关注 0票数 0

我必须检查源和目标是否是相同的目录,以及它们是否要更改名称:

代码语言:javascript
复制
#Renaming bamboo-home folder
- name: Get {{ bamboo_home_symlink }} symlink target
  stat:
    path: "{{ bamboo_home_symlink }}"
  register: symlinkhome_target
  tags:
    - upgrade

- name: change name of folder to be {{ bamboo_home }}
  shell: mv '{{ symlinkhome_target.stat.lnk_source }}' '{{ bamboo_home }}'
  when: symlinkhome_target.stat.lnk_source is not {{ bamboo_home }}
  tags:
    - upgrade

不幸的是,我有以下错误:

代码语言:javascript
复制
19:02:31 TASK [change name of folder to be /usr/data/atlassian/bamboo-8.1.2-home] *******
19:02:31 task path: /opt/data/jenkins/workspace/Team Infrastructure Services and Tools/Bamboo/Bamboo Dev/Bamboo-dev install/roles/bamboo/tasks/main.yml:146
19:02:31 [WARNING]: conditional statements should not include jinja2 templating
19:02:31 delimiters such as {{ }} or {% %}. Found: symlinkhome_target.stat.lnk_source is
19:02:31 not {{ bamboo_home }}
19:02:31 Read vars_file 'vars/secure-y0f0.yml'
19:02:31 Read vars_file 'vars/dev.yml'
19:02:31 [WARNING]: conditional statements should not include jinja2 templating
19:02:31 delimiters such as {{ }} or {% %}. Found: symlinkhome_target.stat.lnk_source is
19:02:31 not {{ bamboo_home }}
19:02:31 fatal: [nks02445.nkd01100.nykreditnet.net]: FAILED! => {
19:02:31     "msg": "The conditional check 'symlinkhome_target.stat.lnk_source is not {{ bamboo_home }}' failed. The error was: template error while templating string: expected token 'name', got '/'. String: {% if symlinkhome_target.stat.lnk_source is not /usr/data/atlassian/bamboo-8.1.2-home %} True {% else %} False {% endif %}\n\nThe error appears to be in '/opt/data/jenkins/workspace/Team Infrastructure Services and Tools/Bamboo/Bamboo Dev/Bamboo-dev install/roles/bamboo/tasks/main.yml': line 146, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: change name of folder to be {{ bamboo_home }}\n  ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n    with_items:\n      - {{ foo }}\n\nShould be written as:\n\n    with_items:\n      - \"{{ foo }}\"\n"
19:02:31 }

定义了symlinkhome_target。见统计数据的结果:

代码语言:javascript
复制
19:02:31     "stat": {
19:02:31         "exists": true, 
19:02:31         "gid": 0, 
19:02:31         "gr_name": "root", 
19:02:31         "inode": 142127337, 

19:02:31         "lnk_source": "/opt/data/atlassian/bamboo-8.1.2-home", 
19:02:31         "lnk_target": "/usr/data/atlassian/bamboo-8.1.2-home", 
19:02:31         "mimetype": "inode/symlink", 

19:02:31     }
EN

回答 1

Stack Overflow用户

发布于 2022-03-09 21:11:50

警告告诉您您做错了什么,这会导致错误消息。

代码语言:javascript
复制
19:02:31 [WARNING]: conditional statements should not include jinja2 templating
19:02:31 delimiters such as {{ }} or {% %}.

此外,您应该测试等式(!=)而不是标识(is not)。

代码语言:javascript
复制
- name: change name of folder to be {{ bamboo_home }}
  shell: mv '{{ symlinkhome_target.stat.lnk_source }}' '{{ bamboo_home }}'
  when: symlinkhome_target.stat.lnk_source != bamboo_home
  tags:
    - upgrade
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71414128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档