0
我想这样注册变量:如何从包含测试语句的shell命令注册变量? (双括号)
- name: create database password
shell: chdir=/var/www/website if [[ -n "$WEBSITE_DATABASE_PASSWORD" ]]; then echo "$WEBSITE_DATABASE_PASSWORD";else bundle exec rake secret;fi
register: db_password
当我运行此命令外壳它工作正常,但是从ansible运行它返回一个错误:
"stderr": "/bin/sh: 1: [[: not found"
我该如何逃避它?
我怀疑'bash'不是你目标主机上的默认shell,所以'[[''不可用。说实话,这个任务是Ansible的反模式。 –