#!/usr/bin/env bash display_usage() { echo "$(basename "$0") [-h] [-c \"\"]" echo '' echo 'where:' echo ' -h show this help text' echo ' -c execute a command inside docker using docker exec' } # start docker containers if they are not running (check for frappe) launch_containers() { docker exec frappe /bin/true 2>/dev/null if [[ $? -eq 1 ]]; then docker-compose up -d fi } if [[ $# -eq 0 ]]; then launch_containers docker exec -it frappe bash else while getopts ':hc:' option; do case "$option" in h) display_usage exit ;; c) launch_containers docker exec frappe bash -c "bench $OPTARG" ;; \?) echo "Invalid option: -$OPTARG" >&2 exit 1 ;; :) echo "Option -$OPTARG requires an argument." >&2 exit 1 ;; esac done fi