#!/usr/bin/env bash # menu - a simple Linux-based menu template with examples. # # Copyright (c) 2026 640kb.neocities.org # This script is licensed under the Blue Oak Model License 1.0.0. # https://blueoakcouncil.org/license/1.0.0 # # 19jul2026: Initial release show_menu() { clear cat << "MENU" =================================================== Finger Services =================================================== 1. Weather New York 7. Origins of Finger 2. Weather Anchorage 8. All Services (w/break) 3. Weather Arizona 9. Word Search (w/break) 4. Quakes Daily Data 10. Sudoku: Easy 5. bbs.airandwave.net 11. ANSI over Finger 6. Wikipedia: Finger 12. MLB Standings =================================================== Safe Commands For Testing =================================================== 13. Heads or Tails 16. cat /etc/os-release 14. espeak hello 17. free -h (memory) 15. cal -3 18. lscpu (no flags) =================================================== MENU echo -n " Select option [1-18] or (x to eXit): " } while true; do show_menu read choice case "$choice" in # Finger & local commands are used. netcat, espeak required on some items. # Examples below include: 'break', 'multi-line', ANSI, modifying visual output, # piping and running a few local programs. 1) printf 'weather:10024\r\n' | nc bbs.airandwave.net 79 ;; 2) printf 'weather:99501\r\n' | nc bbs.airandwave.net 79 ;; 3) printf 'weather:85334\r\n' | nc bbs.airandwave.net 79 ;; 4) printf 'quake\r\n' | nc bbs.airandwave.net 79 | less clear echo -e "\n\n" ;; 5) clear; printf 'bbs\r\n' | nc bbs.airandwave.net 79 ;; 6) printf 'wiki:finger_protocol:1\r\n' | nc bbs.airandwave.net 79 | less; clear ;; 7) printf 'originsfinger\r\n' | nc happynetbox.com 79 | less; clear ;; 8) printf '\r\n' | nc bbs.airandwave.net 79; break ;; 9) printf 'wordsearch:today\r\n' | nc bbs.airandwave.net 79; break ;; 10) printf 'sudoku:easy\r\n' | nc bbs.airandwave.net 79 ;; 11) printf "ansi\r\n" | nc happynetbox.com 79 | head -n -2 | echo -e "$(cat)" printf "\033[0m" ;; 12) printf 'mlb_standings\r\n' | nc bbs.airandwave.net 79 ;; 13) clear echo -e "\n\n" [ $((RANDOM % 2)) -eq 0 ] && echo "Heads" || echo "Tails" echo -e "\n\n" ;; 14) clear; echo -e "\n\n" ; echo "Hello World" ; espeak "hello world"; echo -e "\n\n" ;; 15) clear; echo -e "\n\n" ; cal -3; echo -e "\n\n" ;; 16) clear; echo -e "\n\n" ; cat /etc/os-release; echo -e "\n\n" ;; 17) clear; echo -e "\n\n" ; free -h; echo -e "\n\n" ;; 18) clear; echo -e "\n\n" ; lscpu | grep -v "Flags"; echo -e "\n" ;; x|X) echo " ===================================================" echo " Goodbye!" break ;; *) echo "Invalid option!" ;; esac echo -n "Press Enter to continue..." read done