Workshop Shell Scripting – Επισκόπηση
Επισκόπηση
Αυτό το workshop καλύπτει τη διαδρομή από τις βασικές αρχές εκτέλεσης Bash έως ασφαλές, ελέγξιμο Automation κατάλληλο για λειτουργική χρήση.
Η έμφαση δίνεται στα εξής:
- Έννοιες Bash και Shell κοντά στο POSIX.
- Quoting, Expansion και Exit Codes.
- Files, Streams, Pipelines και επεξεργασία κειμένου.
- Σχεδιασμός CLI, Functions,
getoptsκαι Libraries. - Error Handling,
trap, Temporary Files και Cleanup. - Tests, ShellCheck, shfmt, μοντέλο Bats και CI/CD.
- Ασφαλής διαχείριση Input, Secrets, δικαιωμάτων, PATH και καταστροφικών ενεργειών.
Γρήγορη εκκίνηση
Κατεβάστε τα αρχεία του workshop και ελέγξτε πρώτα το provisioning script με --dry-run:
# Το περιεχόμενο του workshop παρέχεται μέσω της Orthevs Academy.
chmod +x scripts/provision_shell_scripting.sh
./scripts/provision_shell_scripting.sh --dry-run
./examples/00-lab-skeleton/run.sh
Σε ποιους απευθύνεται
Το workshop απευθύνεται σε Developers, Administrators, DevOps Engineers, SREs, Platform Engineers, Security Engineers και σε όποιον γράφει, αξιολογεί ή λειτουργεί Shell Scripts.
Διαδρομή μάθησης
| Επίπεδο | Εστίαση | Αποτέλεσμα |
|---|---|---|
| Fundamentals | Syntax, εκτέλεση, Quoting, Exit Codes, Files και πρώτα ασφαλή Scripts | Μπορείτε να εξηγείτε, να εκτελείτε και να αξιολογείτε τα σχετικά μοτίβα Script. |
| Intermediate | Σχεδιασμός CLI, Functions, getopts, επεξεργασία κειμένου, Error Handling και Cleanup |
Μπορείτε να εξηγείτε, να εκτελείτε και να αξιολογείτε τα σχετικά μοτίβα Script. |
| Professional | Αρχιτεκτονική Script, Tests, CI/CD, Packaging, Observability και πρότυπα ομαδικής εργασίας | Μπορείτε να εξηγείτε, να εκτελείτε και να αξιολογείτε τα σχετικά μοτίβα Script. |
| Advanced Security | Threat Modeling, προστασία από Injection, Secrets, δικαιώματα, ασφαλής διαγραφή και Incident Response | Μπορείτε να εξηγείτε, να εκτελείτε και να αξιολογείτε τα σχετικά μοτίβα Script. |
Δομή περιεχομένου
- Curriculum
- Fundamentals
- Intermediate
- Professional
- Advanced Security
- Ασκήσεις
- Παραδείγματα
- Assessments
Τα έγγραφα χωρίς ελληνική έκδοση εμφανίζονται προσωρινά στα αγγλικά. Οι σύνδεσμοι θα οδηγούν στην ελληνική έκδοση μόλις αυτή προστεθεί.
Δομή του workshop
.
├── assessments/
├── docs/
├── examples/
├── exercises/
├── media/
├── scripts/
├── workshops/
├── LICENSE.md
└── README-EL.md
Προαπαιτούμενα
- Linux, macOS ή WSL.
- Bash.
- Git.
- GNU ή BSD Userland με
find,sed,awk,grepκαιmktemp. - Προαιρετικά ShellCheck, shfmt, Bats και jq.
Επίσημη τεκμηρίωση
Τρόπος εργασίας
- Μη χρησιμοποιείτε Production Paths, Secrets ή δεδομένα πελατών στα Labs.
- Εκτελείτε καταστροφικά μοτίβα μόνο μετά από Dry Run και ελέγχους του Scope.
- Αντιμετωπίζετε τους φακέλους
work/ως προσωρινά Evidence. - Ελέγχετε τα Scripts τουλάχιστον με
bash -n· συνιστώνται επίσης ShellCheck και shfmt.
Πηγές και παραπομπές
Λίστα ελέγχου Review για το workshop
- 01. Ορίστε ρητά το Shebang και το Shell εκτέλεσης: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 02. Βάλτε σε Quotes τα Variable Expansions, εκτός αν απαιτείται σκόπιμα Word Splitting: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 03. Ελέγξτε το Input πριν επηρεάσει File Names, Options ή Commands: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 04. Ελέγξτε και τεκμηριώστε ρητά τα Exit Codes: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 05. Διαχωρίστε το stderr από το stdout: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 06. Δημιουργείτε Temporary Files με
mktemp: Καταγράψτε το σχετικό File, Command, Exit Code και Risk. - 07. Δοκιμάστε το Cleanup μέσω
trap: Καταγράψτε το σχετικό File, Command, Exit Code και Risk. - 08. Προστατέψτε τις καταστροφικές ενέργειες με Dry Run, ελέγχους Scope και επιβεβαίωση: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 09. Μην εμφανίζετε ούτε καταχωρίζετε Secrets στο Version Control: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 10. Ελέγξτε το PATH και τις εξωτερικές Dependencies: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 11. Αντιμετωπίστε τα ShellCheck Warnings ή αιτιολογήστε την καταστολή τους: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 12. Τεκμηριώστε τις παραδοχές Portability μεταξύ Bash και POSIX sh: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 13. Ορίστε ρητά το Shebang και το Shell εκτέλεσης: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 14. Βάλτε σε Quotes τα Variable Expansions, εκτός αν απαιτείται σκόπιμα Word Splitting: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 15. Ελέγξτε το Input πριν επηρεάσει File Names, Options ή Commands: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 16. Ελέγξτε και τεκμηριώστε ρητά τα Exit Codes: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 17. Διαχωρίστε το stderr από το stdout: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 18. Δημιουργείτε Temporary Files με
mktemp: Καταγράψτε το σχετικό File, Command, Exit Code και Risk. - 19. Δοκιμάστε το Cleanup μέσω
trap: Καταγράψτε το σχετικό File, Command, Exit Code και Risk. - 20. Προστατέψτε τις καταστροφικές ενέργειες με Dry Run, ελέγχους Scope και επιβεβαίωση: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 21. Μην εμφανίζετε ούτε καταχωρίζετε Secrets στο Version Control: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 22. Ελέγξτε το PATH και τις εξωτερικές Dependencies: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 23. Αντιμετωπίστε τα ShellCheck Warnings ή αιτιολογήστε την καταστολή τους: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 24. Τεκμηριώστε τις παραδοχές Portability μεταξύ Bash και POSIX sh: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 25. Ορίστε ρητά το Shebang και το Shell εκτέλεσης: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 26. Βάλτε σε Quotes τα Variable Expansions, εκτός αν απαιτείται σκόπιμα Word Splitting: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 27. Ελέγξτε το Input πριν επηρεάσει File Names, Options ή Commands: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 28. Ελέγξτε και τεκμηριώστε ρητά τα Exit Codes: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 29. Διαχωρίστε το stderr από το stdout: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 30. Δημιουργείτε Temporary Files με
mktemp: Καταγράψτε το σχετικό File, Command, Exit Code και Risk. - 31. Δοκιμάστε το Cleanup μέσω
trap: Καταγράψτε το σχετικό File, Command, Exit Code και Risk. - 32. Προστατέψτε τις καταστροφικές ενέργειες με Dry Run, ελέγχους Scope και επιβεβαίωση: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 33. Μην εμφανίζετε ούτε καταχωρίζετε Secrets στο Version Control: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 34. Ελέγξτε το PATH και τις εξωτερικές Dependencies: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 35. Αντιμετωπίστε τα ShellCheck Warnings ή αιτιολογήστε την καταστολή τους: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
- 36. Τεκμηριώστε τις παραδοχές Portability μεταξύ Bash και POSIX sh: Καταγράψτε το σχετικό File, Command, Exit Code και Risk.
Πρακτικό παράρτημα: ασκήσεις workshop
Αυτό το παράρτημα είναι λίστα εργασιών για μεγαλύτερα Trainings, Reviews και επαναλήψεις. Κάθε εργασία μπορεί να ελεγχθεί τοπικά με Bash, Test Data και αρχεία του workshop υπό Version Control.
A001. Bash
- Εργασία: Ελέγξτε την εγκυρότητα του Input και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A002. POSIX
- Εργασία: Εξηγήστε το Exit Code και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A003. Testing
- Εργασία: Ελέγξτε το Quoting και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A004. Security
- Εργασία: Δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A005. Bash
- Εργασία: Ελέγξτε το περιεχόμενο των Logs και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A006. POSIX
- Εργασία: Παρακολουθήστε τη διαδικασία Cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A007. Testing
- Εργασία: Ορίστε τα όρια της Portability και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A008. Security
- Εργασία: Επισημάνετε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A009. Bash
- Εργασία: Τεκμηριώστε τη διαδρομή Recovery και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A010. POSIX
- Εργασία: Συντάξτε κανόνα Review και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A011. Testing
- Εργασία: Ελέγξτε την εγκυρότητα του Input και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A012. Security
- Εργασία: Εξηγήστε το Exit Code και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A013. Bash
- Εργασία: Ελέγξτε το Quoting και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A014. POSIX
- Εργασία: Δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A015. Testing
- Εργασία: Ελέγξτε το περιεχόμενο των Logs και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A016. Security
- Εργασία: Παρακολουθήστε τη διαδικασία Cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A017. Bash
- Εργασία: Ορίστε τα όρια της Portability και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A018. POSIX
- Εργασία: Επισημάνετε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A019. Testing
- Εργασία: Τεκμηριώστε τη διαδρομή Recovery και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A020. Security
- Εργασία: Συντάξτε κανόνα Review και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A021. Bash
- Εργασία: Ελέγξτε την εγκυρότητα του Input και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A022. POSIX
- Εργασία: Εξηγήστε το Exit Code και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A023. Testing
- Εργασία: Ελέγξτε το Quoting και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A024. Security
- Εργασία: Δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A025. Bash
- Εργασία: Ελέγξτε το περιεχόμενο των Logs και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A026. POSIX
- Εργασία: Παρακολουθήστε τη διαδικασία Cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A027. Testing
- Εργασία: Ορίστε τα όρια της Portability και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A028. Security
- Εργασία: Επισημάνετε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A029. Bash
- Εργασία: Τεκμηριώστε τη διαδρομή Recovery και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A030. POSIX
- Εργασία: Συντάξτε κανόνα Review και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A031. Testing
- Εργασία: Ελέγξτε την εγκυρότητα του Input και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A032. Security
- Εργασία: Εξηγήστε το Exit Code και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A033. Bash
- Εργασία: Ελέγξτε το Quoting και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A034. POSIX
- Εργασία: Δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A035. Testing
- Εργασία: Ελέγξτε το περιεχόμενο των Logs και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A036. Security
- Εργασία: Παρακολουθήστε τη διαδικασία Cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A037. Bash
- Εργασία: Ορίστε τα όρια της Portability και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A038. POSIX
- Εργασία: Επισημάνετε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A039. Testing
- Εργασία: Τεκμηριώστε τη διαδρομή Recovery και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A040. Security
- Εργασία: Συντάξτε κανόνα Review και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A041. Bash
- Εργασία: Ελέγξτε την εγκυρότητα του Input και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A042. POSIX
- Εργασία: Εξηγήστε το Exit Code και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A043. Testing
- Εργασία: Ελέγξτε το Quoting και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A044. Security
- Εργασία: Δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A045. Bash
- Εργασία: Ελέγξτε το περιεχόμενο των Logs και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A046. POSIX
- Εργασία: Παρακολουθήστε τη διαδικασία Cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A047. Testing
- Εργασία: Ορίστε τα όρια της Portability και συνδέστε ρητά την παρατήρηση με το θέμα
Testing. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A048. Security
- Εργασία: Επισημάνετε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
Security. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A049. Bash
- Εργασία: Τεκμηριώστε τη διαδρομή Recovery και συνδέστε ρητά την παρατήρηση με το θέμα
Bash. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.
A050. POSIX
- Εργασία: Συντάξτε κανόνα Review και συνδέστε ρητά την παρατήρηση με το θέμα
POSIX. - Evidence: Καταγράψτε την ελεγχόμενη εντολή, το αναμενόμενο και το πραγματικό αποτέλεσμα, καθώς και το Exit Code.
- Λειτουργική ερώτηση: Τι συμβαίνει με κενό Input, αρχεία που λείπουν, Tools που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτηση ασφάλειας: Μπορεί το Input να μετατραπεί σε Option, Path, Glob, Subshell, έκφραση
evalή διαρροή Secret; - Recovery: Περιγράψτε Revert, Cleanup, Restore, Rotation των Secrets ή χειροκίνητη διόρθωση.