Shell — Backup script (strict mode, functions)
A realistic Bash script using strict mode (set -euo pipefail), functions, default parameters, a loop, and conditionals — an illustrative fixture (review before running) for testing highlighters, ShellCheck, and shfmt.
#!/usr/bin/env bash
#
# A small backup script: strict mode, functions, default arguments,
# a loop, and conditionals. (Illustrative fixture - review before running.)
set -euo pipefail
readonly SOURCE_DIR="${1:-./data}"
readonly DEST_DIR="${2:-./backups}"
log() {
printf '[%s] %s\n' "$(date +%H:%M:%S)" "$*"
}
require_dir() {
local dir="$1"
if [[ ! -d "$dir" ]]; then
log "error: directory not found: $dir"
exit 1
fi
}
main() {
require_dir "$SOURCE_DIR"
mkdir -p "$DEST_DIR"
local count=0
for file in "$SOURCE_DIR"/*; do
[[ -e "$file" ]] || continue
cp -- "$file" "$DEST_DIR/"
count=$((count + 1))
done
log "copied ${count} file(s) to ${DEST_DIR}"
}
main "$@"
Specifications
- Language
- Shell
- Kind
- realistic snippet
- Lines
- 36
- Encoding
- UTF-8
- Line Endings
- LF
Testing contract
Expected to pass- Scenario
- Run ShellCheck and shfmt over the file without executing it.
- Expected result
- ShellCheck reports no findings: `set -euo pipefail` is present, every expansion is quoted, `local` is declared separately from assignment, and `cp --` guards against filenames that begin with a dash. Reading it is the test - it copies files, so it is a lint and format fixture rather than something to run.
What is a .sh file?
A shell script (.sh) is a plain-text program for a Unix shell such as bash — a sequence of commands with variables, conditionals, loops, functions, and pipelines. Scripts start with a shebang line (like #!/usr/bin/env bash) and are used for automation, builds, and system administration.
How to use this file
Use an example .sh file to test syntax highlighters, shell linters (ShellCheck), formatters (shfmt), and parser or language-detection tooling. It uses LF line endings so it runs correctly on Unix.
How to use this file for testing
“Shell — Backup script (strict mode, functions)” is a deterministic Novus Examples fixture for Syntax highlighting, Code parsing, Editor testing. Idiomatic hello-world programs and realistic snippets across sixteen languages, exercising comments, string escapes, interpolation, numeric literals, and language keywords — for testing syntax highlighters, editor themes, and tree-sitter grammars.
Documented properties for this file: Shell · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
This is a short, known-correct source file. Run it through your syntax highlighter, linter, formatter, tree-sitter grammar, or parser, and open it in the in-browser editor to tweak and re-download. Each snippet exercises comments, string escapes, literals, and language keywords.
Code examples
bash backup.shRelated files
- shShell — Hello WorldThe classic hello-world in Bash — a shebang and echo, with LF line endings so it runs on Unix — for testing highlighters, ShellCheck, and shell parsers.

- shShell Lint Invalid — Unquoted Var InvalidIntentionally lint-bait SAMPLE shell snippet (unquoted-var-invalid) for rule-engine tests.

- shShell Strict ModeBash strict-mode hello for shellcheck / highlighter tests.

- cC — Hello WorldThe classic hello-world in C — an include, main, and printf — for testing highlighters, C compilers, and parsers against the canonical first program.

- cC — Linked list (structs, malloc, pointers)A realistic C program: a singly linked list with a typedef struct, malloc/free memory management, pointer walking, and error handling — for testing highlighters, compilers, and static analysers.

- cC StructC struct SAMPLE for clangd / highlighter fixtures.

Generated by generation/code_samples.py. Free for any use, no attribution required — license.