#!/bin/bash shopt -s expand_aliases alias mcscreen='sudo -u minecraft screen' print_error() { >&2 printf '\033[31;1m%s\033[0m \033[1m%s\033[0m\n' ERROR: "$*" } public_usage() { local name name="$(basename "$0")" cat << EOF ${name}: utilisation ${name} start|status|stop|watch NOM_SERVEUR ${name} list ${name} usage EOF } error_usage() { print_error "Utilisation invalide." >&2 public_usage return 1 } public_start() { if [ -n "$1" ]; then mcscreen -d -m -S "$1" \ "/srv/minecraft/bin/${1}" else error_usage fi } public_status() { if [ -n "$1" ]; then printf '\033[1m%s\033[0m : ' "$1" if mcscreen -ls "$1" > /dev/null 2>&1; then echo "en cours d'exécution" else echo "non en cours d'exécution" fi else error_usage fi } public_stop() { if [ -n "$1" ]; then mcscreen -S "$1" -X stuff '^E^Ustop^M' else error_usage fi } public_watch() { mcscreen -dr "$1" } public_list() { mcscreen -ls } verb="$1" shift case "$verb" in start|status|stop|watch|list|usage) "public_${verb}" "$@" ;; *) error_usage ;; esac