#!/usr/bin/env bash # ms — modal shell dispatcher # Usage: ms [mode] # ms list available modes # ms enter named mode set -euo pipefail MODES_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/modes" && pwd)" if [[ $# -eq 0 ]]; then echo "Available modes:" for f in "$MODES_DIR"/*.sh; do [[ "$(basename "$f")" == "base.sh" ]] && continue printf " %s\n" "$(basename "$f" .sh)" done exit 0 fi mode="$1" mode_file="$MODES_DIR/${mode}.sh" if [[ ! -f "$mode_file" ]]; then echo "error: unknown mode '$mode'" >&2 echo "Run 'ms' to list available modes." >&2 exit 1 fi exec bash "$mode_file"