ansible的shell模块的功能非常强大,它甚至可以代替ansible的所有模块,比如像unarchive命令,在shell中可以分解为。通过scp命令传送包到远程,再通过tar命令对文件进行解压,再比如user模块可以直接在shell模块中调用useradd命令和usermod命令进行用户的管理,那么为什么还会有其他模块出现呢?
最大的原因:在于见名知义,比如tempate代表模板,copy就是复制,unarchive就代表解压包,file就代表文件管理,如果只使用shell模块,我们看每一个task都必须把shell内的命令都看了,才能看懂他在做什么任务