无法 运行 自定义模块

Not able to run custom module

我创建了一个自定义模块 pingtest,它使用 ping 命令对所有服务器执行 ping 操作。我创建了一个 shell 脚本,稍后将其放置在 playbook 目录的库目录中。当我写一个剧本来使用那个模块时,它给我一个错误说

" 致命的:[ansibleclient]:失败!=> {"msg":"module (pingtest) is missing interpreter line"}"

我尝试更改 IP 地址,但似乎没有任何效果,我使用的是 ansible 版本 2.7.9

ping 测试模块

#/bin/bash /bin/sh
 source  >/home/vagrant/ping.out>&1

 TARGET=${target:-127.0.0.1}
ping -c 1 ${TARGET} >/home/vagrant/ping.out 2>/home/vagrant/ping.err

if [ $? == 0 ];
then
echo "{\"changed\": true, \"rc\": 0}"
else
  echo "{\"failed\": true, \"msg\": \"failed to ping\", \"rc\": 1}"
fi

使用 pingtest 模块的剧本

---
- hosts: linux
  tasks:
  - name: Calling pingtest module
    pingtest:
      target: 192.168.111.31

我预计该模块会 运行 但不知道为什么我会报错

致命:[ansibleclient]:失败! => {"msg": "module (pingtest) is missing interpreter line"} 致命的:[ubuntuclient]:失败! => {"msg": "module (pingtest) is missing interpreter line"}

您的 pingtest 模块中的第一行无效。

更改为 #!/bin/bash,它应该可以正常工作。