Wiki workshop · Αγγλικά

WSL Environment: Shell Scripting

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

Παραδείγματα workshop σε ZIP
Πρόοδος μάθησης στη web app

Σημειώστε κεφάλαια ως αναγνωσμένα, δείτε την πρόοδο ανάγνωσης και ολοκληρώστε πρακτικές ενότητες αφού ενεργοποιήσετε την προαιρετική web app. Η πρόοδος του workshop υπολογίζεται από τα κεφάλαια όλων των σελίδων τεκμηρίωσης. Οι επιλογές μένουν σε αυτή τη συσκευή· δεν υπάρχει λογαριασμός ή συγχρονισμός με server. Δεν απαιτείται εγκατάσταση. Η ανάκληση στις Ρυθμίσεις απορρήτου διαγράφει την πρόοδο.

Πρόοδος ανάγνωσης0%
0%
0 / 11 κεφάλαια που διαβάστηκαν

Δεν υπάρχει ακόμη ελληνική έκδοση αυτού του εγγράφου. Το περιεχόμενο εμφανίζεται στα αγγλικά.

Άλλη γλωσσική έκδοσηΓερμανικά ↗Ελληνικά ↗

WSL Environment: Shell Scripting

This document belongs to the Shell Scripting workshop and describes environment-wsl 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

  • Windows Terminal
  • WSL
  • Pfadgrenzen
  • Dateirechte
  • Interop
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 WSL 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: WSL 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. Windows Terminal

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Task: explain exit code and connect the observation explicitly to WSL.
  • 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 modules ως ενιαία διαδρομή μάθησης.

Η σειρά παραμένει αμετάβλητη: από τη βασική δομή του lab μέσω τεχνικών θεμελίων και λειτουργικών μοντέλων έως το τελικό troubleshooting. Τα τεχνικά ονόματα καταλόγων διατηρούνται σκόπιμα.

Orthevs – Η μηχανική ως βάση για όσα ακολουθούν.

Το Orthevs ως εφαρμογή

Εγκατάσταση του Orthevs

Η web app του Orthevs μπορεί να εγκατασταθεί σε υποστηριζόμενες κινητές συσκευές και browsers υπολογιστή.

iPhone και iPad

Ανοίξτε το Orthevs στο Safari. Πατήστε Κοινή χρήση και μετά Προσθήκη στην οθόνη αφετηρίας. Ενεργοποιήστε το Άνοιγμα ως web app, αν εμφανίζεται, και πατήστε Προσθήκη.

Android

Για τη web app, ανοίξτε το μενού του browser και επιλέξτε Εγκατάσταση εφαρμογής ή Προσθήκη στην αρχική οθόνη. Επιβεβαιώστε την εγκατάσταση.

Browser υπολογιστή

Ανοίξτε το μενού του browser ή το εικονίδιο εγκατάστασης στη γραμμή διευθύνσεων και επιλέξτε Εγκατάσταση εφαρμογής ή Προσθήκη στο Dock.

Η εγκατάσταση της web app εξαρτάται από τον browser. Αν δεν εμφανιστεί διάλογος εγκατάστασης, ακολουθήστε τα βήματα του browser που αναφέρονται παραπάνω.