Workshop-Wiki · Englisch

VM Environment: Shell Scripting

This document belongs to the Shell Scripting workshop and describes environment-native-vm as training material, reference documentation and review basis.

Workshop-Beispiele als ZIP
Lernstand in der Web-App

Kapitel als gelesen markieren, Lesefortschritt sehen und Praxismodule abhaken: Diese Funktionen stehen nach Aktivierung der optionalen Web-App zur Verfügung. Der Workshop-Fortschritt ergibt sich automatisch aus den Kapiteln aller Dokumentseiten. Deine Auswahl bleibt auf diesem Gerät; es gibt kein Konto und keinen Serverabgleich. Eine Installation ist nicht erforderlich. Beim Widerruf in den Datenschutz-Einstellungen wird der Lernstand gelöscht.

Lesefortschritt0%
0%
0 / 11 Kapitel gelesen
Weitere SprachfassungDeutsch ↗Griechisch ↗

VM Environment: Shell Scripting

This document belongs to the Shell Scripting workshop and describes environment-native-vm as training material, reference documentation and review basis.

Target State

You should treat shell scripts as small programs with inputs, outputs, error paths, side effects and security boundaries, not as loose command sequences. Bash is the primary tool while POSIX sh remains the portability reference. The workshop deliberately separates interactive convenience from stable scripting patterns.

01 / 11

Focus

  • Ubuntu VM
  • Snapshots
  • Pakete
  • Testdaten
  • Rollback
02 / 11

Core Terms

Term Meaning
Shell A program that interprets commands, starts processes, connects streams and can run scripts non-interactively.
Bash GNU Bourne-Again Shell, compatible with many sh concepts and extended with features such as arrays, [[ ... ]], select and process substitution.
POSIX sh A standardized shell language with a narrower feature set; important for portable scripts on Unix-like systems.
Shebang The first script line, for example #!/usr/bin/env bash, that tells the operating system which interpreter to use.
Exit Code Integer command result; 0 means success and other values signal errors or special outcomes.
Quoting Protection against unwanted word splitting, globbing and incorrect interpretation of spaces, metacharacters or empty values.
Expansion Evaluation of parameters, command substitutions, arithmetic expressions, globs and brace expansion before command execution.
Pipeline A chain of processes connected through standard output and standard input; exit status needs deliberate handling with pipefail or PIPESTATUS.
Redirection Routing stdin, stdout, stderr and additional file descriptors into files, pipes or process substitutions.
Function A named shell code block with positional parameters through $@, but without automatic local variables unless local is used.
Strict Mode A combination of set -euo pipefail, deliberate error handling and controlled IFS; useful but not a substitute for design.
Trap Handler for signals and pseudo-signals such as EXIT, ERR, INT or TERM; central for cleanup and interruption logic.
mktemp Tool for safely creating temporary files or directories without colliding names or unsafe path assumptions.
ShellCheck Static analysis for shell scripts that detects common mistakes, quoting issues and unsafe patterns.
Bats TAP-compliant testing framework for Bash and Unix programs; useful for CLI and script behavior.
Idempotence Property where repeated execution reaches the same desired state without unnecessary side effects.
Command Injection Security flaw where untrusted input is interpreted as part of a command.
PATH Hijacking Manipulation of command lookup through unsafe PATH entries or relative program names.
TOCTOU Race condition between checking and using a file or resource.
Secret Handling Handling tokens, passwords and keys without logs, commits, world-readable files or process-list leaks.
03 / 11

Reference Commands

bash
# Versions and interpreter
bash --version
type -a bash
printf '%s
' "$SHELL"

# Syntax and static checks
bash -n script.sh
shellcheck script.sh
shfmt -d script.sh

# Debugging and execution
bash -x script.sh --dry-run
set -o pipefail
trap 'echo cleanup' EXIT

# Common data processing
find . -type f -name '*.log' -print0 | xargs -0 grep -H 'ERROR'
awk -F, '{ print $1, $3 }' data.csv
sed -n '1,20p' file.txt

# Temporary files and permissions
tmpdir="$(mktemp -d)"
chmod 700 "$tmpdir"
rm -rf -- "$tmpdir"
04 / 11

Working Model

  1. Define purpose, inputs, outputs and allowed side effects before writing the script.
  2. Set target shell, shebang, dependencies and portability level.
  3. Write minimal functions and separate parsing, validation, execution and output.
  4. Check syntax, ShellCheck findings, tests and dry-run evidence before touching real data.
  5. Handle error paths explicitly: missing file, empty variable, invalid option, signal, partial pipeline failure.
  6. Document recovery: revert, backup restore, temporary file cleanup, permission repair, secret rotation.
05 / 11

Typical Decisions

Decision Review Question Risk if Wrong
Bash or POSIX sh Does the script need arrays, [[ ... ]] or process substitution? it fails or behaves differently on target systems
Quoting strategy Where is word splitting truly intended? data loss, injection, wrong file names
Error handling Where does set -e help and where do you need explicit checks? aborted scripts or hidden partial failures
Temporary files Who can read them and when are they removed? race conditions, data leaks, stale files
Logging Which output is for humans and which is for machines? CI breaks or parsers read wrong data
Destructive operations How is scope limited before rm, mv, chmod or chown? irreversible changes in the wrong path
06 / 11

Diagrams and Models

The diagrams are text-based on purpose so they remain reviewable without extra tooling.

text
User / CI Runner
      |
      v
+------------------+      argv/env/stdin       +------------------+
| bash interpreter | ------------------------> | script functions |
+------------------+                           +------------------+
      | stdout/stderr                                  |
      v                                                v
logs, files, reports                         commands, files, APIs
text
Input -> validate -> normalize -> execute -> check exit code -> log -> cleanup
                    |                 |
                    v                 v
               reject unsafe      trap on EXIT/ERR
text
Review Gate
  bash -n
  ShellCheck
  shfmt
  smoke tests
  dry-run evidence
  destructive-operation guard
07 / 11

Operations Notes

  • Shell scripts inherit environment, PATH, working directory, locale and open file descriptors.
  • set -e is not error handling; conditions, subshells and pipelines still need understanding.
  • eval, unquoted variables, unsafe temporary files and global cd assumptions are common failure sources.
  • Secrets can leak through logs, process lists, shell history, debug output and temporary files.
  • CI runners are non-interactive; scripts must not depend on implicit TTY or home-directory behavior.
08 / 11

Sources and References

09 / 11

Review Checklist for VM Environment

  • 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.
  • 46. check PATH and external dependencies: Record the affected file, command, exit code and risk.
  • 47. handle ShellCheck warnings or suppress them with a reason: Record the affected file, command, exit code and risk.
  • 48. document portability assumptions between Bash and POSIX sh: Record the affected file, command, exit code and risk.
  • 49. name the shebang and target shell explicitly: Record the affected file, command, exit code and risk.
  • 50. quote variable expansions unless word splitting is deliberate: Record the affected file, command, exit code and risk.
  • 51. validate inputs before they influence filenames, options or commands: Record the affected file, command, exit code and risk.
  • 52. evaluate and document exit codes explicitly: Record the affected file, command, exit code and risk.
10 / 11

Practice Appendix: VM Environment

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. Ubuntu VM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A081. Ubuntu VM

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

A082. Snapshots

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

A083. Pakete

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

A084. Testdaten

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

A085. Rollback

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

A086. Ubuntu VM

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

A087. Snapshots

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

A088. Pakete

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

A089. Testdaten

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

A090. Rollback

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

A091. Ubuntu VM

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

A092. Snapshots

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

SH · Orthevs Academy

31 Module als durchgängiger Lernpfad.

Die Reihenfolge bleibt unverändert: von der Laborgrundstruktur über fachliche Grundlagen und Betriebsmodelle bis zum abschließenden Troubleshooting. Die technischen Verzeichnisnamen werden bewusst beibehalten.

Orthevs – Engineering als Grundlage für das, was als Nächstes kommt.

Orthevs als App

Orthevs installieren

Die Orthevs Web-App kann auf unterstützten Mobilgeräten und Desktop-Browsern installiert werden.

iPhone und iPad

Öffnen Sie Orthevs in Safari. Tippen Sie auf Teilen, dann auf ‚Zum Home-Bildschirm‘. Aktivieren Sie gegebenenfalls ‚Als Web-App öffnen‘ und tippen Sie auf ‚Hinzufügen‘.

Android

Für die Web-App öffnen Sie das Browsermenü und wählen ‚App installieren‘ oder ‚Zum Startbildschirm hinzufügen‘. Bestätigen Sie die Installation.

Desktop-Browser

Öffnen Sie das Browsermenü oder das Installationssymbol in der Adressleiste und wählen Sie ‚App installieren‘ beziehungsweise ‚Zum Dock hinzufügen‘.

Die Web-App-Installation hängt vom Browser ab. Falls kein Installationsdialog erscheint, nutzen Sie die angezeigten Schritte im Browser.