Workshop wiki · English

Shell Scripting Intermediate: Solution (EN)

Scope: CLI-Design, Funktionen, getopts, Textverarbeitung, Fehlerbehandlung und Cleanup.

Workshop examples as ZIP files
Learning progress in the web app

Mark chapters as read, view reading progress and check off practice modules after enabling the optional web app. Workshop progress is calculated from chapters across all document pages. Your choices stay on this device; there is no account or server sync. Installation is not required. Withdrawing your choice in Privacy settings deletes the progress.

Reading progress0%
0%
0 / 6 chapters read
Other language versionGerman ↗Greek ↗

Shell Scripting Intermediate: Solution (EN)

Scope: CLI-Design, Funktionen, getopts, Textverarbeitung, Fehlerbehandlung und Cleanup.

Format

  • written questions
  • practical scripting task
  • review of a flawed script
  • short operations and security assessment
01 / 06

Expected Answer Profile

A good answer explains behavior, not only syntax, and supports it with commands, exit codes and test data. Security-relevant decisions must be justified.

02 / 06

Questions

Solution 01

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for explain interpreter and execution model.

Solution 02

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for verify shebang and file permissions.

Solution 03

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for process parameters safely.

Solution 04

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for apply quoting and expansion rules.

Solution 05

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for evaluate exit codes and error paths.

Solution 06

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for control pipelines and redirections.

Solution 07

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for process text with grep, sed and awk.

Solution 08

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for design safe filesystem operations.

Solution 09

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for structure functions and libraries.

Solution 10

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for parse options with getopts.

Solution 11

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for secure temporary files with mktemp.

Solution 12

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for implement cleanup with trap.

Solution 13

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for add logging and debugging.

Solution 14

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for make scripts idempotent.

Solution 15

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for use ShellCheck and shfmt in reviews.

Solution 16

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for model tests with smoke scripts or Bats.

Solution 17

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for protect secrets and environment variables.

Solution 18

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for guard destructive operations.

Solution 19

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for assess portability between Bash and POSIX sh.

Solution 20

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for define CI/CD gates for scripts.

Solution 21

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for run incident response for broken scripts.

Solution 22

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for explain interpreter and execution model.

Solution 23

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for verify shebang and file permissions.

Solution 24

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for process parameters safely.

Solution 25

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for apply quoting and expansion rules.

Solution 26

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for evaluate exit codes and error paths.

Solution 27

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for control pipelines and redirections.

Solution 28

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for process text with grep, sed and awk.

Solution 29

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for design safe filesystem operations.

Solution 30

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for structure functions and libraries.

Solution 31

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for parse options with getopts.

Solution 32

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for secure temporary files with mktemp.

Solution 33

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for implement cleanup with trap.

Solution 34

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for add logging and debugging.

Solution 35

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for make scripts idempotent.

Solution 36

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for use ShellCheck and shfmt in reviews.

Solution 37

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for model tests with smoke scripts or Bats.

Solution 38

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for protect secrets and environment variables.

Solution 39

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for guard destructive operations.

Solution 40

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for assess portability between Bash and POSIX sh.

Solution 41

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for define CI/CD gates for scripts.

Solution 42

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for run incident response for broken scripts.

Solution 43

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for explain interpreter and execution model.

Solution 44

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for verify shebang and file permissions.

Solution 45

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for process parameters safely.

Solution 46

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for apply quoting and expansion rules.

Solution 47

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for evaluate exit codes and error paths.

Solution 48

Expected: name the target shell, validate input, quote variables, check exit code, document error path and provide concrete evidence for control pipelines and redirections.

03 / 06

Practical Task

Write a script with --help, --dry-run, input validation, logging to stderr and a machine-readable result file. Submit syntax check, test run and review note.

04 / 06

Review Checklist for Intermediate

  • 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.
  • 41. separate stderr and stdout: Record the affected file, command, exit code and risk.
  • 42. create temporary files with mktemp: Record the affected file, command, exit code and risk.
  • 43. test cleanup through trap: Record the affected file, command, exit code and risk.
  • 44. guard destructive operations with dry-run, scope checks and confirmation: Record the affected file, command, exit code and risk.
  • 45. never print or commit secrets: Record the affected file, command, exit code and risk.
05 / 06

Practice Appendix: Intermediate

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. Review

  • Task: explain exit code and connect the observation explicitly to Review.
  • 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. Testing

  • Task: check quoting and connect the observation explicitly to Testing.
  • 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. Security

  • Task: test error path 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.

A005. Bash

  • Task: review log output 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.

A006. Review

  • Task: trace cleanup and connect the observation explicitly to Review.
  • 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. Testing

  • Task: scope portability and connect the observation explicitly to Testing.
  • 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. Security

  • Task: mark security risk 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.

A009. Bash

  • Task: document recovery path 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.

A010. Review

  • Task: write review rule and connect the observation explicitly to Review.
  • 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. Testing

  • Task: validate input and connect the observation explicitly to Testing.
  • 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. Security

  • Task: explain exit code 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.

A013. Bash

  • Task: check quoting 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.

A014. Review

  • Task: test error path and connect the observation explicitly to Review.
  • 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. Testing

  • Task: review log output and connect the observation explicitly to Testing.
  • 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. Security

  • Task: trace cleanup 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.

A017. Bash

  • Task: scope portability 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.

A018. Review

  • Task: mark security risk and connect the observation explicitly to Review.
  • 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. Testing

  • Task: document recovery path and connect the observation explicitly to Testing.
  • 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. Review

  • Task: explain exit code and connect the observation explicitly to Review.
  • 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. Testing

  • Task: check quoting and connect the observation explicitly to Testing.
  • 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. Security

  • Task: test error path 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.

A025. Bash

  • Task: review log output 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.

A026. Review

  • Task: trace cleanup and connect the observation explicitly to Review.
  • 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. Testing

  • Task: scope portability and connect the observation explicitly to Testing.
  • 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. Security

  • Task: mark security risk 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.

A029. Bash

  • Task: document recovery path 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.

A030. Review

  • Task: write review rule and connect the observation explicitly to Review.
  • 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. Testing

  • Task: validate input and connect the observation explicitly to Testing.
  • 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. Security

  • Task: explain exit code 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.

A033. Bash

  • Task: check quoting 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.

A034. Review

  • Task: test error path and connect the observation explicitly to Review.
  • 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. Testing

  • Task: review log output and connect the observation explicitly to Testing.
  • 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. Security

  • Task: trace cleanup 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.

A037. Bash

  • Task: scope portability 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.

A038. Review

  • Task: mark security risk and connect the observation explicitly to Review.
  • 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. Testing

  • Task: document recovery path and connect the observation explicitly to Testing.
  • 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. Review

  • Task: explain exit code and connect the observation explicitly to Review.
  • 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. Testing

  • Task: check quoting and connect the observation explicitly to Testing.
  • 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. Security

  • Task: test error path 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.

A045. Bash

  • Task: review log output 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.

A046. Review

  • Task: trace cleanup and connect the observation explicitly to Review.
  • 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. Testing

  • Task: scope portability and connect the observation explicitly to Testing.
  • 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. Security

  • Task: mark security risk 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.

A049. Bash

  • Task: document recovery path 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.

A050. Review

  • Task: write review rule and connect the observation explicitly to Review.
  • 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. Testing

  • Task: validate input and connect the observation explicitly to Testing.
  • 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. Security

  • Task: explain exit code 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.

A053. Bash

  • Task: check quoting 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.

A054. Review

  • Task: test error path and connect the observation explicitly to Review.
  • 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. Testing

  • Task: review log output and connect the observation explicitly to Testing.
  • 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. Security

  • Task: trace cleanup 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.

A057. Bash

  • Task: scope portability 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.

A058. Review

  • Task: mark security risk and connect the observation explicitly to Review.
  • 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. Testing

  • Task: document recovery path and connect the observation explicitly to Testing.
  • 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. Review

  • Task: explain exit code and connect the observation explicitly to Review.
  • 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. Testing

  • Task: check quoting and connect the observation explicitly to Testing.
  • 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. Security

  • Task: test error path 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.

A065. Bash

  • Task: review log output 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.

A066. Review

  • Task: trace cleanup and connect the observation explicitly to Review.
  • 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. Testing

  • Task: scope portability and connect the observation explicitly to Testing.
  • 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. Security

  • Task: mark security risk 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.

A069. Bash

  • Task: document recovery path 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.

A070. Review

  • Task: write review rule and connect the observation explicitly to Review.
  • 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. Testing

  • Task: validate input and connect the observation explicitly to Testing.
  • 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. Security

  • Task: explain exit code 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.

A073. Bash

  • Task: check quoting 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.

A074. Review

  • Task: test error path and connect the observation explicitly to Review.
  • 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. Testing

  • Task: review log output and connect the observation explicitly to Testing.
  • 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. Security

  • Task: trace cleanup 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.

A077. Bash

  • Task: scope portability 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.

A078. Review

  • Task: mark security risk and connect the observation explicitly to Review.
  • 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. Testing

  • Task: document recovery path and connect the observation explicitly to Testing.
  • 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.
06 / 06

SH · Orthevs Academy

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

Orthevs – Engineering the foundation for what comes next.

Orthevs as an app

Install Orthevs

The Orthevs web app can be installed on supported mobile devices and desktop browsers.

iPhone and iPad

Open Orthevs in Safari. Tap Share, then Add to Home Screen. Enable Open as Web App if offered, then tap Add.

Android

For the web app, open the browser menu and choose Install app or Add to Home screen. Confirm the installation.

Desktop browser

Open the browser menu or the install icon in the address bar, then choose Install app or Add to Dock.

Web app installation depends on your browser. If no install prompt appears, follow the browser steps shown above.