Bash 在Ansible中的脚本模块中找不到文件

Bash 在Ansible中的脚本模块中找不到文件,bash,ansible,Bash,Ansible,我有一个名为check_version.sh的文件,它基本上会检查软件包版本(如果安装了),并将其回显 如果我运行ansible,我会得到以下错误: 而我也有其他的文件,工作非常好。无法调试此特定文件发生此错误的原因。很可能是您忘记上载脚本或类似内容。但出于这个目的,您更可能使用ansible模块/ansible事实。这就是他们的目的。 以下代码作为示例: --- - hosts: all vars: yourPackage: "GeoIP" tasks: - pack

我有一个名为check_version.sh的文件,它基本上会检查软件包版本(如果安装了),并将其回显

如果我运行ansible,我会得到以下错误:


而我也有其他的文件,工作非常好。无法调试此特定文件发生此错误的原因。

很可能是您忘记上载脚本或类似内容。但出于这个目的,您更可能使用ansible模块/ansible事实。这就是他们的目的。 以下代码作为示例:

---

- hosts: all
  vars:
    yourPackage: "GeoIP"
  tasks:
    - package_facts:
        manager: "auto"
      register: packages
    - debug:
        var: "packages.ansible_facts.packages.{{ yourPackage }}"

这样,您就可以直接在Ansible中操作。

您是否理解
检查版本的含义。sh:未找到
?错误表示脚本丢失。展示剧本的相关部分,在执行剧本之前,你会在剧本中复制剧本吗?他应该复制剧本,对吧。但他可能正在使用
脚本
模块
testSoftwares="ruby redis mongo elasticsearch kibana openssh openssl nodejs"

for item in $testSoftwares
do
    result=`dpkg -l | grep ^ii | grep $item | awk -F ' ' '{print $2"  "$3}'`
    if [ -n "$result" ] 
    then
        echo $result
    fi
done
---

- hosts: all
  vars:
    yourPackage: "GeoIP"
  tasks:
    - package_facts:
        manager: "auto"
      register: packages
    - debug:
        var: "packages.ansible_facts.packages.{{ yourPackage }}"