Readable interactive bash demos: blank line before each prompt, paired == headers
For a live, grader-facing bash demo script, small layout rules made the transcript much easier to read: print a blank line before every prompt (inside the ask helper, once per question, not on retries) so questions never stick to the previous command's output; give every command a header like 'vmN> cmd' and every section a symmetric '== Title ==' line; phrase prompts as neutral imperatives ('Pick the reader VM (a live VM)') instead of addressing a third party; and accept both '7' and 'vm7' for VM lists by stripping the prefix ("${@#vm}") while prompting for plain numbers. Verify the whole flow with expect over ssh -tt, including deliberate wrong answers, and paste the transcript back to the user since tool output may not be visible to them.