Using bash modules

Bash modules in Ansible are no different than any other bash scripts, except the way it prints the data on stdout. Bash modules could be as simple as checking if a process is running on the remote host to running some complex commands.

Note

As previously stated, the general recommendation is to use Python for modules. In my opinion the second-best choice (only for very easy modules) is bash module due to its simplicity and user base.

Let's create the file library/kill_java.sh with the following content:

    #!/bin/bash     source $1     SERVICE=$service_name     JAVA_PIDS=$(/usr/java/default/bin/jps | grep ${SERVICE} | awk '{print $1}')     if [ ${JAVA_PIDS} ]; then      for JAVA_PID in ${JAVA_PIDS}; do      /usr/bin/kill -9 ${JAVA_PID} ...

Get Learning Ansible 2 - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.