Нужно мне сделать некоторые вычисления на Python, и результат получить в Ansible.Делаю так:
- name: Вычисление суммы
shell: |
python <<< "print 1+2"
register: result- debug:
msg: Результат {{result}}
И при исполнении плейбука ошибка:
fatal: [generatorHost]: FAILED! => {"changed": true, "cmd": "python <<< \"print 1+2\"\n", "delta": "0:00:00.001918", "end": "2020-11-24 15:25:22.719117", "msg": "non-zero return code", "rc": 2, "start": "2020-11-24 15:25:22.717199", "stderr": "/bin/sh: 1: Syntax error: redirection unexpected", "stderr_lines": ["/bin/sh: 1: Syntax error: redirection unexpected"], "stdout": "", "stdout_lines": []}
При этом простое выполнение команды в командной строке работает правильно:
$ python <<< "print 1+2"
3
Как сделать так, чтобы получить значение питоновской команды?
> python <<< "print 1+2"А что делает <<< ? Он не POSIX, а /bin/sh вполне может и на FreeBSD стоять.
> А что делает <<< ?echo "print 1+2" | python
Но АМ\КГ по любому :(
> Как сделать так, чтобы получить значение питоновской команды?Выполнить питоновскую команду.
- name: Вычисление суммы
shell: |
print(1+2)
register: result
args:
executable: python3- debug:
msg: Результат {{result}}