#!/bin/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' echo ' -s adds site-names to /etc/hosts file in the container to facilitate multisite access' } if [[ $# -eq 0 ]]; then docker exec -it frappe bash else while getopts ':hsc:' option; do case "$option" in h) display_usage exit ;; c) docker exec frappe bash -c "bench $OPTARG" ;; s) a=$(cd frappe-bench && ls sites/*/site_config.json | grep -o '/.\+/') a="${a//$'\n'/ }" a=$(echo $a | tr -d / ) result="127.0.0.1 ${a}" echo $result docker exec -u root -i frappe bash -c "echo ${result} | tee --append /etc/hosts" ;; \?) echo "Invalid option: -$OPTARG" >&2 exit 1 ;; :) echo "Option -$OPTARG requires an argument." >&2 exit 1 ;; esac done fi