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的反模式。 –