无法使用ansible shell模块获取二进制路径

无法使用ansible shell模块获取二进制路径,ansible,ansible-2.x,ansible-template,Ansible,Ansible 2.x,Ansible Template,团队, 手动在笔记本电脑上本地工作,但仅在通过ansible呼叫时失败。ansible在不同的壳中看它吗?我有一个像MAC book一样的便携式控制器 我试图在寄存器变量中存储二进制文件的路径,但shell命令未执行 - name: "Find kubectl binary" register: kubectl_path shell: which kubectl args: executable: /bin/bash

团队, 手动在笔记本电脑上本地工作,但仅在通过ansible呼叫时失败。ansible在不同的壳中看它吗?我有一个像MAC book一样的便携式控制器

我试图在寄存器变量中存储二进制文件的路径,但shell命令未执行

      - name: "Find kubectl binary"
        register: kubectl_path
        shell: which kubectl
        args:
          executable: /bin/bash
输出:

TASK [Find kubectl binary] ***************************************************************************************************************
fatal: [target1]: FAILED! => {"changed": true, "cmd": "which kubectl", "delta": "0:00:00.007541", "end": "2019-10-01 17:17:45.515963", "msg": "non-zero return code", "rc": 1, "start": "2019-10-01 17:17:45.508422", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}

你能试着通过终端运行命令并检查它是否给出输出吗?播放很好,如果我运行
哪个java
,它就在那里,但运行
哪个kubectl
失败,因为它不存在。我在问题中指定了。可能是ansible在找不同的位置?如何修复它?如果您觉得这是一个shell问题,请尝试注释
args
executable
,然后运行。无帮助。相同的结果。我在寻找的任何二进制文件中得到相同的结果。看来是配置问题?