bash/memory.README.md
2026-10-28 20:04:29 +00:00

31 lines
1.4 KiB
Markdown

# Shell memory questions
`memory.tsv` is a selectively curated question-and-answer bank for reinforcing
useful Bash commands. It deliberately excludes internal functions, standard
command overrides and deprecated transition aliases.
Each non-empty line contains three tab-separated fields:
```text
name question answer
```
- `name` is a unique stable identifier, normally the command or alias name.
- `question` is displayed on shell startup.
- `answer` is displayed by running `answerpls` in that terminal.
Run `refreshpls` to advance to another question before the next calendar day.
`answerpls` then displays the answer to the newly shown question. Refreshing is
persisted under `$XDG_STATE_HOME/bash` (or `~/.local/state/bash` when that
variable is unset), so new terminals show the refreshed question for the rest
of that calendar day. The normal daily selection takes over again the following
day.
The file has no header or comments. Empty fields, duplicate names and malformed
rows are errors.
Bash works through a persisted, randomly shuffled deck. Each question appears
once before the deck is shuffled again, and a new deck does not begin with the
question that ended the previous one. The deck advances on a new calendar day
or when `refreshpls` is run, while every terminal opened on the same day shows
the current persisted question. Editing the bank starts a newly shuffled deck.