Technology Sep 02, 2026 · 1 min read

The Hard Part of Grading a Terminal Command: Why String Matching Doesn't Work

1. The problem: I wanted to auto-grade a terminal task 2. First attempt: compare the typed command to an expected command as a string — why it broke (infinite commands do the same job) 3. Second attempt: parse the output with regex — why it broke (different commands, equally valid output) 4. The...

DE
DEV Community
by KARATAS
The Hard Part of Grading a Terminal Command: Why String Matching Doesn't Work

1. The problem: I wanted to auto-grade a terminal task

2. First attempt: compare the typed command to an expected command as a string — why it broke (infinite commands do the same job)

3. Second attempt: parse the output with regex — why it broke (different commands, equally valid output)

4. The fix: check simulated filesystem/process state at the end of the task instead

5. How I built this in JS (short code sample)

6. Result: this is how ShellPer's Lab module works, try it here
ShellPer On Google Play Store !

👇🏻

library

search

lab-mission

danger-radar

playbook

toolkit

DE
Source

This article was originally published by DEV Community and written by KARATAS.

Read original article on DEV Community
Back to Discover

Reading List