多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
 切换到某个shell执行指定的指令,参数与command相同。 与command不同的是,此模块可以支持命令管道,同时还有另一个模块也具备此功能:raw ”, “|”, “;” 和 “&” 这些符号都是shell解析的 ## 1、选项 ### ates参数 : > 使用此参数指定一个文件,当指定的文件存在时,就不执行对应命令,可参考command 模块中的解释。 ### removes参数 : > 使用此参数指定一个文件,当指定的文件不存在时,就不执行对应命令,可参考 command 模块中的解释。 ### executable参数: 默认情况下,shell 模块会调用远程主机中的 /bin/sh 去执行对应的命令,通常情况下,远程主机中的默认 shell 都是 bash。如果你想要使用其他类型的 shell 执行命令,则可以使用此参数指定某种类型的 shell 去执行对应的命令。指定 shell 文件时,需要使用绝对路径。 ## 2、实例 1、先在本地创建一个SHELL脚本 \# vim /tmp/rocketzhang\_test.sh #!/bin/sh date +%F\_%H:%M:%S #chmod +x /tmp/rocketzhang\_test.sh ## 将创建的脚本文件分发到远程 \# ansible storm\_cluster -m copy -a "src=/tmp/rocketzhang\_test.sh dest=/tmp/rocketzhang\_test.sh owner=root group=root mode=0755" ## 远程执行 \# ansible storm\_cluster -m shell -a "/tmp/rocketzhang\_test.sh" [![wKioL1RsyaPQliwdAAD4ONP1kro483.jpg](http://s3.51cto.com/wyfs02/M00/53/A5/wKioL1RsyaPQliwdAAD4ONP1kro483.jpg "11.png")](http://s3.51cto.com/wyfs02/M00/53/A5/wKioL1RsyaPQliwdAAD4ONP1kro483.jpg)