Official Certificates and Exam Alignment: Shell Scripting (EN)
Classification
This document does not invent an official Bash or shell scripting certificate. Shell skills are relevant in many Linux, DevOps, SRE, cloud and security exams, but this workshop treats them as a practical core capability and not as a replacement for vendor material.
Important for this workshop:
- GNU Bash and the POSIX Shell Command Language provide the technical reference for syntax and semantics.
- ShellCheck and Bats are practical tools for quality assurance and testing.
- Exam alignment comes through tasks about files, processes, permissions, text processing, exit codes, debugging and safe automation.
Competency Mapping
| Competency | Workshop Area | Evidence in Repo |
|---|---|---|
| Bash fundamentals | Fundamentals | Workshop 01, Exercises 01, Examples 00-06 |
| robust CLI scripts | Intermediate | Workshop 02, Examples 06-17 |
| operations and CI/CD | Professional | Workshop 03, Examples 18-24 |
| security and recovery | Advanced Security | Workshop 04, Examples 25-30 |
Preparation Without Certification Claims
- Read the GNU Bash Manual, POSIX Shell Command Language and local
man bashsections. - Practice quoting, redirection, exit codes,
set,trap,getopts,find,awk,sedandgrep. - Check scripts with
bash -n, ShellCheck, smoke tests and review checklists. - Document boundaries: shell is not ideal for complex data models, long-running services or hard-to-test business logic.
Sources and References
Review Checklist for Certificate Preparation
- 01. name the shebang and target shell explicitly: Record the affected file, command, exit code and risk.
- 02. quote variable expansions unless word splitting is deliberate: Record the affected file, command, exit code and risk.
- 03. validate inputs before they influence filenames, options or commands: Record the affected file, command, exit code and risk.
- 04. evaluate and document exit codes explicitly: Record the affected file, command, exit code and risk.
- 05. separate stderr and stdout: Record the affected file, command, exit code and risk.
- 06. create temporary files with
mktemp: Record the affected file, command, exit code and risk. - 07. test cleanup through
trap: Record the affected file, command, exit code and risk. - 08. guard destructive operations with dry-run, scope checks and confirmation: Record the affected file, command, exit code and risk.
- 09. never print or commit secrets: Record the affected file, command, exit code and risk.
- 10. check PATH and external dependencies: Record the affected file, command, exit code and risk.
- 11. handle ShellCheck warnings or suppress them with a reason: Record the affected file, command, exit code and risk.
- 12. document portability assumptions between Bash and POSIX sh: Record the affected file, command, exit code and risk.
- 13. name the shebang and target shell explicitly: Record the affected file, command, exit code and risk.
- 14. quote variable expansions unless word splitting is deliberate: Record the affected file, command, exit code and risk.
- 15. validate inputs before they influence filenames, options or commands: Record the affected file, command, exit code and risk.
- 16. evaluate and document exit codes explicitly: Record the affected file, command, exit code and risk.
- 17. separate stderr and stdout: Record the affected file, command, exit code and risk.
- 18. create temporary files with
mktemp: Record the affected file, command, exit code and risk. - 19. test cleanup through
trap: Record the affected file, command, exit code and risk. - 20. guard destructive operations with dry-run, scope checks and confirmation: Record the affected file, command, exit code and risk.
- 21. never print or commit secrets: Record the affected file, command, exit code and risk.
- 22. check PATH and external dependencies: Record the affected file, command, exit code and risk.
- 23. handle ShellCheck warnings or suppress them with a reason: Record the affected file, command, exit code and risk.
- 24. document portability assumptions between Bash and POSIX sh: Record the affected file, command, exit code and risk.
- 25. name the shebang and target shell explicitly: Record the affected file, command, exit code and risk.
- 26. quote variable expansions unless word splitting is deliberate: Record the affected file, command, exit code and risk.
- 27. validate inputs before they influence filenames, options or commands: Record the affected file, command, exit code and risk.
- 28. evaluate and document exit codes explicitly: Record the affected file, command, exit code and risk.
- 29. separate stderr and stdout: Record the affected file, command, exit code and risk.
- 30. create temporary files with
mktemp: Record the affected file, command, exit code and risk. - 31. test cleanup through
trap: Record the affected file, command, exit code and risk. - 32. guard destructive operations with dry-run, scope checks and confirmation: Record the affected file, command, exit code and risk.
- 33. never print or commit secrets: Record the affected file, command, exit code and risk.
- 34. check PATH and external dependencies: Record the affected file, command, exit code and risk.
- 35. handle ShellCheck warnings or suppress them with a reason: Record the affected file, command, exit code and risk.
- 36. document portability assumptions between Bash and POSIX sh: Record the affected file, command, exit code and risk.
- 37. name the shebang and target shell explicitly: Record the affected file, command, exit code and risk.
- 38. quote variable expansions unless word splitting is deliberate: Record the affected file, command, exit code and risk.
- 39. validate inputs before they influence filenames, options or commands: Record the affected file, command, exit code and risk.
- 40. evaluate and document exit codes explicitly: Record the affected file, command, exit code and risk.
Practice Appendix: Certificate Preparation
This appendix is a working backlog for longer trainings, reviews and repetitions. Each task can be checked locally with Bash, test data and a Git repository.
A001. Bash
- Task: validate input and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A002. POSIX
- Task: explain exit code and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A003. ShellCheck
- Task: check quoting and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A004. Bats
- Task: test error path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A005. Security
- Task: review log output and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A006. Bash
- Task: trace cleanup and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A007. POSIX
- Task: scope portability and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A008. ShellCheck
- Task: mark security risk and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A009. Bats
- Task: document recovery path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A010. Security
- Task: write review rule and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A011. Bash
- Task: validate input and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A012. POSIX
- Task: explain exit code and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A013. ShellCheck
- Task: check quoting and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A014. Bats
- Task: test error path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A015. Security
- Task: review log output and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A016. Bash
- Task: trace cleanup and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A017. POSIX
- Task: scope portability and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A018. ShellCheck
- Task: mark security risk and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A019. Bats
- Task: document recovery path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A020. Security
- Task: write review rule and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A021. Bash
- Task: validate input and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A022. POSIX
- Task: explain exit code and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A023. ShellCheck
- Task: check quoting and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A024. Bats
- Task: test error path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A025. Security
- Task: review log output and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A026. Bash
- Task: trace cleanup and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A027. POSIX
- Task: scope portability and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A028. ShellCheck
- Task: mark security risk and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A029. Bats
- Task: document recovery path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A030. Security
- Task: write review rule and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A031. Bash
- Task: validate input and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A032. POSIX
- Task: explain exit code and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A033. ShellCheck
- Task: check quoting and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A034. Bats
- Task: test error path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A035. Security
- Task: review log output and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A036. Bash
- Task: trace cleanup and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A037. POSIX
- Task: scope portability and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A038. ShellCheck
- Task: mark security risk and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A039. Bats
- Task: document recovery path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A040. Security
- Task: write review rule and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A041. Bash
- Task: validate input and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A042. POSIX
- Task: explain exit code and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A043. ShellCheck
- Task: check quoting and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A044. Bats
- Task: test error path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A045. Security
- Task: review log output and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A046. Bash
- Task: trace cleanup and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A047. POSIX
- Task: scope portability and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A048. ShellCheck
- Task: mark security risk and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A049. Bats
- Task: document recovery path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A050. Security
- Task: write review rule and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A051. Bash
- Task: validate input and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A052. POSIX
- Task: explain exit code and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A053. ShellCheck
- Task: check quoting and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A054. Bats
- Task: test error path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A055. Security
- Task: review log output and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A056. Bash
- Task: trace cleanup and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A057. POSIX
- Task: scope portability and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A058. ShellCheck
- Task: mark security risk and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A059. Bats
- Task: document recovery path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A060. Security
- Task: write review rule and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A061. Bash
- Task: validate input and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A062. POSIX
- Task: explain exit code and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A063. ShellCheck
- Task: check quoting and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A064. Bats
- Task: test error path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A065. Security
- Task: review log output and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A066. Bash
- Task: trace cleanup and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A067. POSIX
- Task: scope portability and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A068. ShellCheck
- Task: mark security risk and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A069. Bats
- Task: document recovery path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A070. Security
- Task: write review rule and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A071. Bash
- Task: validate input and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A072. POSIX
- Task: explain exit code and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A073. ShellCheck
- Task: check quoting and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A074. Bats
- Task: test error path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A075. Security
- Task: review log output and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A076. Bash
- Task: trace cleanup and connect the observation explicitly to
Bash. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A077. POSIX
- Task: scope portability and connect the observation explicitly to
POSIX. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A078. ShellCheck
- Task: mark security risk and connect the observation explicitly to
ShellCheck. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A079. Bats
- Task: document recovery path and connect the observation explicitly to
Bats. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.
A080. Security
- Task: write review rule and connect the observation explicitly to
Security. - Evidence: Record the checked command, expected output, actual output and exit code.
- Operations question: What happens with empty input, missing files, missing tools and repeated execution?
- Security question: Can input become an option, path, glob, subshell, eval expression or secret leak?
- Recovery: Describe revert, cleanup, restore, secret rotation or manual correction.