#!/bin/sh # This spell displays the menu for adminning hosting a MUD server. . colors display_menu() { add="Add authorized player%add-player" list_players="List authorized players%new-player" list_rooms="List shared rooms%list-rooms" exit="Exit%kill -2 $$" # Commands are run with 'eval' by the menu script, so we can't simply say 'exit'. The keyword $$ gets this scripts PID and the -2 code is SIGINT aka Ctrl-C menu "MUD main menu:" "$add" "$list_players" "$list_rooms" "$exit" } # Catch Ctrl-C and exit handle_ctrl_c() { trap 'echo exiting; exit' INT } handle_ctrl_c while true; do display_menu done