URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10339
[ Назад ]

Исходное сообщение
"Сложное вычисление на Python и засовывание результата в Ansible"

Отправлено xintrea , 24-Ноя-20 15:34 
Нужно мне сделать некоторые вычисления на 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 и засовывание результата в Ansible"
Отправлено abi , 24-Ноя-20 17:22 
>       python <<< "print 1+2"

А что делает <<< ? Он не POSIX, а /bin/sh вполне может и на FreeBSD стоять.


"Сложное вычисление на Python и засовывание результата в Ansible"
Отправлено _ , 26-Ноя-20 00:10 
> А что делает <<< ?

echo "print 1+2" | python

Но АМ\КГ по любому :(


"Сложное вычисление на Python и засовывание результата в Ansible"
Отправлено ACCA , 26-Ноя-20 00:44 
> Как сделать так, чтобы получить значение питоновской команды?

Выполнить питоновскую команду.

  - name: Вычисление суммы
    shell: |
      print(1+2)
    register: result
    args:
      executable: python3

  - debug:
      msg: Результат {{result}}