Materials and tools used in a security reviewIllustration of a working environment

Enrolment opening soon

Bash: automate with care

Bash and safe automation

Turn repetitive tasks into small, readable tools. Learn to write Bash scripts that handle arguments, data and errors correctly. Progress from your first file to a CLI interface, cleanup after interruption and tests that help maintain automation.

PLN 349planned price including tax

In your browser · No installation · Tutor and narration

FormatIn your browser, at your own pace
Syllabus16 topic areas
Edition languagePolish
Signup typeFree waitlist

Bash: automate with care

Join the waitlist

Have a question? Email me

You can withdraw your consent at any time. This signup covers the selected course — we will not add you to the lists for the other courses automatically.

Open your browser. Start learning.

The tutor shows you.
The narrator explains. You practice.

Do not spend your first evening configuring an environment. The application, tools and task context are in one place. You do not need Docker, a VPN, a virtual machine or paid software.

See what to pay attention to

A virtual tutor walks you through the example and highlights important parts of the application, code or tool. Connect the instruction to what is happening on screen.

Hear why the result matters

Narration explains the mechanism, decision and result. Pause the guidance, return to an earlier step and work through it at your own pace.

Test your own reasoning

Take over in the exercise: change data, run a test or make a decision. Compare the result and improve your solution using the explanation.

One environment, without switching between a video and a local installation. Tools fit the topic: from HTTP requests and code to a terminal, calculator or document. Practice in simulators and prepared cases, without attacking other people's systems.

What will you be able to do?

Automation that works even when something goes wrong.

Progress from a command sequence to a script with defined input, output and error behavior.

Starting point

A script works for one file but fails on spaces or an empty value.

The skill you develop

Control arguments, variable expansion and quoting.

How you test it in practice

Predict arguments passed to a command and test the script with empty input and unusual filenames.

Starting point

Automation reports success despite an internal failure.

The skill you develop

Design error handling, exit codes and cleanup.

How you test it in practice

Trigger an error in the exercise and confirm the correct message, work interruption and removal of temporary resources.

Starting point

Only the author understands the command sequence.

The skill you develop

Practice building, testing and improving a small CLI tool.

How you test it in practice

In the supplied example, test parameter validation, usage information and successful and failing flows. Justify the change and how to check it again.

Why does this matter beyond the course?

Use this for repeatable file analysis, data collection and team tools. The course assumes basic terminal confidence.

Connect each skill to a concrete work product. Return to explanations while you practice.

A syllabus backed by materials

Specific topics.
Practice that helps you understand them.

See what makes up the syllabus: lessons, explanations, examples and exercises. The figures below describe different types of materials.

16chapters
Topic chapters in the current course materials. Subviews and indexes of the same content do not increase this count.
220Bash demonstrations
185 demonstrations in the Bash model, 34 with recorded host artifacts and one reference demonstration. The model is not a native Bash process.
65script files
52 guided and 13 exercise scripts with distinct file contents. They share examples with demonstrations, so the two collections must not be added together.
3590narrated steps
Distinct pairs of screen text and narration after removing identical duplicates. These are guidance segments, not separate complete lessons.

The figures describe the English-language source materials. The waiting list is for the planned Polish edition. These counts do not mean its translation is complete. Demonstration steps, examples and tasks are different units, not hours of video or counts of unique vulnerabilities.

Entry point

Who is this course for?

  • People familiar with terminal basics who are writing their first scripts.
  • Analysts, administrators and pentesters automating data collection, file processing or report preparation.
  • People maintaining others' scripts who want to understand quoting, exit codes and seemingly random errors.

What helps at the start

  • Confidence with files, commands and simple pipelines.

Available in Polish and English — you can switch language at any time. Command names, code snippets and standard identifiers remain in their original form.

How you learn

First, understand.
Then, do it yourself.

The tutor walks through an example and explains each decision. In the exercise, return to the context, check the result and improve your answer.

  1. Understand the situation

    Goal, constraints and inputs. Know what you are testing and why.

  2. See the mechanism

    Watch a demonstration with tutor commentary, step by step.

  3. Complete the task

    Work with data, a tool or a scenario. Compare the result with your expectation.

  4. Draw a conclusion

    Justify your decision and understand its limitations. Return to anything that needs improvement.

Exercises use simulators and selected mechanisms that run in the browser. They do not require attacking other people's systems.

Planned syllabus

Know what you are learning. And why.

Each area develops a specific skill. Learn not only the topic but also the action and outcome that learning leads to.

Each topic includes a skill and a concrete exercise outcome.

I want to join the list
01The terminal starting point

Clarify the difference between a terminal window, shell process and executed command. Review navigation, file reading and searching. Prepare a context in which launching a script has predictable meaning.

Tutor-guided exercise

What you practice
Establish the shell, directory and inputs before running a script.
Practical outcome
Compare the exercise's initial state with the launch command. Distinguish the source file from the running process.
02Your first executable file

Write a small script, specify its interpreter and compare invoking Bash with executing the file by path. Check permissions, stdout, stderr and exit code. Distinguish saving a file from actually running it.

Tutor-guided exercise

What you practice
Distinguish saving, execute permission and interpreter selection.
Practical outcome
Save the example in the editor and run it. Check output and status instead of treating a saved file as executed.
03Quoting and argument boundaries

See how the shell splits text into words and expands unquoted values. Compare spaces, empty arguments, wildcards and option-like names. Fix the command so data reaches the program as intended.

Tutor-guided exercise

What you practice
Predict arguments produced by variable expansion.
Practical outcome
Compare quoted and unquoted examples with spaces or empty input. Explain the difference between text and an argument list.
04Variables, environment and scope

Practice shell variables, export, PATH and sourcing a file. Check which values a child process sees and which stay local. Explain how startup files and the current directory affect the script.

Tutor-guided exercise

What you practice
Trace value visibility and changes across contexts.
Practical outcome
Analyze the supplied script and compare variable reads. Distinguish shell variables, process environment and function-local state.
05Arrays and data lists

Use indexed and associative arrays to store multiple values. Preserve empty elements and names with spaces when passing arguments. Compare brace expansion with filename globbing.

Tutor-guided exercise

What you practice
Preserve element boundaries instead of joining data into a command.
Practical outcome
Compare array and plain-text expansion in the example. Check arguments containing spaces and special characters.
06Expansions and calculations

Practice default parameter values, string operations, arithmetic and command substitution. Learn process substitution and expansion order. Choose a construct for text, numbers or program input.

Tutor-guided exercise

What you practice
Explain the order in which the shell interprets expressions.
Practical outcome
Predict a prepared snippet's result, run it and compare observations. Identify the first point of divergence.
07Streams and pipeline exit codes

Combine redirections, here-documents, pipelines and command chains. Check order effects and read component statuses. Distinguish displayed text from evidence that all required operations succeeded.

Tutor-guided exercise

What you practice
Recognize an internal pipeline failure despite apparent success at the end.
Practical outcome
Compare stdout, stderr and statuses in examples. Explain what result the program invoking the script receives.
08Conditions, patterns and branches

Treat a condition as a command with an exit code. Compare test brackets, shell patterns, regular expressions and case. Build clear handling of valid input and expected errors.

Tutor-guided exercise

What you practice
Choose a condition suited to the data and expected behavior.
Practical outcome
Analyze branches for valid, empty and invalid input. Compare the selected execution path with the intention.
09Functions, loops and local state

Split a script into small functions with arguments and explicit results. Practice loops that preserve list boundaries and local variables. Distinguish function output from execution status.

Tutor-guided exercise

What you practice
Trace control flow and state across iterations.
Practical outcome
Identify function input, loop conditions and results in the supplied script. Also check empty-list behavior.
10Reading input and producing precise output

Use read -r, mapfile and printf with lines, fields and special characters. Preserve backslashes and empty values and direct diagnostics separately. Prepare output suitable for further processing.

Tutor-guided exercise

What you practice
Process text without accidentally changing its meaning.
Practical outcome
Compare read, mapfile and printf examples. Check whitespace, separators and where errors are reported.
11Building a CLI tool

Analyze options, positional arguments and help text in a supplied example. Practice getopts, select, shift and unknown-option handling. Check input, output and error rules, then justify necessary fixes.

Tutor-guided exercise

What you practice
Learn a script interface's structure: options, help and usage errors.
Practical outcome
Analyze and test the supplied CLI example. Compare a valid invocation with a missing argument and unknown option.
12Processes, signals and cleanup

Plan ownership of temporary files and child processes. Use waiting and trap signal handling for controlled termination. Learn about concurrency, coprocesses and scheduled-task context.

Demonstration with explanation

What you practice
Plan termination and removal of temporary resources.
Practical outcome
Analyze error and signal handling in examples. Distinguish the executable model from references to real system-process behavior.
13Diagnosis, options and portability

Compare syntax checks, xtrace tracing, static analysis and execution tests. Check shell options and recognize Bash-specific constructs. History, completion and customization remain aids, not hidden script requirements.

Tutor-guided exercise

What you practice
Separate syntax validity, warnings and behavior in a particular environment.
Practical outcome
Compare available check and execution results. Identify platform limits or unsupported constructs instead of claiming full compatibility.
14Files, networking and untrusted data

Analyze filenames, URLs, parameters and transfer destinations as inputs. Check risks from command construction and eval. Network and host examples retain their stated execution or reference scope.

Case analysis

What you practice
Recognize the boundary between data and executable commands.
Practical outcome
Compare unsafe command construction with controlled arguments. Identify required input and file-state checks.
15Readable, maintainable scripts

Separate presentation from data, limit hidden state and organize messages. Use color only where it does not disrupt downstream processing. Prepare small functions and explicit conditions that are easy to test and change.

Case analysis

What you practice
Explain script assumptions to its future maintainer.
Practical outcome
Review an example's interface, error handling and repeatability. Justify a proposed change through concrete behavior.
16Automation with tests

Combine learned constructs into a Northstar tool. Prepare test data, failure cases, repeat-run checks and CI conditions. Hand over the script with interpreter details and evidence of performed tests.

Workshop with prepared data

What you practice
Verify behavior under several conditions instead of one successful run.
Practical outcome
In prepared missions, compare output, errors, status and file state. Analyze the fix and conditions for rerunning.

In practice

What will you work on
during the course?

Each case has context, a concrete action and an outcome. The goal is not to memorize a command but to understand why the result changed.

A CLI tool for processing files

Analyze a supplied script with options and arguments. Test names with spaces, invalid input and separation of output from error messages. Justify a fix and how to check it again.

Work productA comparison of valid and invalid invocations and a justified fix to an example CLI.

Automation that shuts down properly

Prepare temporary-file and child-process handling and interruption cleanup. Check pipeline statuses, waiting and repeat runs, and connect results to tests.

Work productAn automation scenario with error checks, cleanup and a verification record.

Certificate of completion

Finish the course.
Get the certificate.

When you complete the course, the certificate is issued automatically and emailed to you. It shows your name, the date of issue and a unique code, and its second page lists the course scope.

  • Anyone, such as an employer, can check the code without logging in.
  • The certificate is issued in English.
  • It confirms completion of the course; it is not an industry certification.

Code verification: cyberszkola.pl/verify

Sample certificate of completion, page 1, with example details and a SPECIMEN watermark
Sample certificate, page 2: course scope
Sample certificate: page 1 and the course scope on page 2. The name, date and code are examples.
Enlarge course scope
Sample certificate, page 2: course scope

Upcoming standalone course

A defined scope.
Without buying the whole path.

  • Demonstrations of command, expansion and argument interpretation.
  • Script-writing tasks and failure cases with difficult input.
  • Exercises in CLI design, process handling and automation testing.
  • Certificate of completion in English, with a verification code.

Planned course price

PLN 349including tax

Polish edition · Launch date not yet announced

Notify me at launch

Joining is free. Before sales open, you will receive the date, full scope and purchase terms. We are not taking payments today. This is a separate interest list, not a place reservation or purchase.

For companies and teams

Training for your team.
On our platform or in your LMS.

  • Company accounts, departments and licences on our platform, with progress reports for managers.
  • Delivery into your company's e-learning system. Progress and completion show up in your own reports.
  • VAT invoice issued to your company.

Compatible with LMS platforms including:

  • Moodle
  • TalentLMS
  • Cornerstone
  • Docebo
  • SAP SuccessFactors
  • Workday Learning
  • Absorb
  • 360Learning

and other platforms that support e-learning standards.

Price for companies

Individual quotedepends on the number of licences, access period and delivery method

Delivery into your company's own LMS from 50 licences.

Ask for a quote

Write to [email protected]: the number of people, the courses you want and your LMS, if you use one.

Jacek Wlodarczyk

Project author

Jacek Wlodarczyk

Creator of Cyberwiedza, cyberszkola and AI SecLabs. In these courses, I connect explanations of mechanisms with practice, observation and decisions you need to justify.

Running a command is not enough. What matters is what its output confirms, what it does not confirm and what the next step should be.

More about the author

Before joining

Good to know.

Do I need the Linux course first?

You need confidence with navigation, files, commands and simple pipelines, not completion of a specific course. If these topics are new, Linux from the basics is suitable preparation.

Do you cover syntax only?

No. Syntax supports tools with correct arguments, clear errors and predictable termination. Cases also cover testing, maintainability and repeatable execution.

Am I buying a course now?

No. This is an upcoming course announcement and an interest list. Joining is not a purchase, a place reservation or a commitment to pay.

When will it launch, and what will it cost?

The launch date, price and access terms will be announced before sales open. The interest list is how we send that information.

What language will the course use?

The course is available in Polish and in English — you can switch language at any time, and lessons, exercise explanations and narration exist in both. Commands, code and tool names keep their original syntax, as used in everyday work.

Do I need to install Docker, a VPN or my own lab?

No. All course exercises run in your browser on a computer with internet access. Training applications, terminals, editors and workshops are part of the platform. You do not install Docker, a virtual machine or a VPN, and you do not need paid external tools.

Is this just a collection of videos?

No. You work in an interactive environment. A virtual tutor highlights important elements, and narration explains the action and its result. Pause the lesson, return to earlier steps and run your own experiments. This guidance is built into the course, not individual consultation with a person.

Do the exercises act on other people's systems?

No. You use training applications, simulators and prepared data. Learn the mechanism and its limitations in a safe environment. External resources are supplementary, not required to complete the exercises.

Will I receive a certificate or a job guarantee?

Yes, a certificate of completion. When you complete the course, you receive a certificate in English with a unique code that anyone can check at cyberszkola.pl/verify. It confirms completion of the course and is issued by the author; it is not an industry certification. We do not promise employment.

Are these official OWASP or ISO courses?

No. These are independently authored courses using public references and original cases. They do not replace licensed standards, accreditation or qualifications required in regulated industries.

Join the waitlist

Do not miss the launch: Bash: automate with care

Leave your email address. We will send you news of enrollment, the syllabus and first-edition terms. You will not need to keep checking this page.

Planned price: PLN 349 including tax

  • Launch news for your chosen course
  • The full offer before you decide to buy
  • Free to join, no obligation to buy

Join the waitlist

Have a question? Email me

You can withdraw your consent at any time. This signup covers the selected course — we will not add you to the lists for the other courses automatically.