Course

Bash

Topics in Bash.

91 Topics 6 Quizzes 9h 6min Est. Time

Curriculum

1
Basic Parameter Expansion Forms
Basic Parameter Expansion Forms
2
String Manipulation Expansion
String Manipulation Expansion
3
Indirect Expansion & Name References
Indirect Expansion & Name References
4
Arrays & Array Expansion
Arrays & Array Expansion
5
Pattern Matching & Wildcard Expansion
Pattern Matching & Wildcard Expansion
6
Arithmetic & Base Conversion
Arithmetic & Base Conversion
7
Here Documents & Here Strings
Here Documents & Here Strings
8
Subshell Execution (())
Subshell Execution (())
9
Process Substitution (<(cmd), >(cmd))
Process Substitution (<(cmd), >(cmd))
10
Command Substitution ($(), backtick)
Command Substitution ($(), backtick)
11
Subshell Variable Scope
Subshell Variable Scope
12
Nested Subshells
Nested Subshells
13
Process Substitution vs Pipes
Process Substitution vs Pipes
14
Coprocesses (coproc)
Coprocesses (coproc)
15
Indexed Arrays (declare -a)
Indexed Arrays (declare -a)
16
Associative Arrays (declare -A, Bash 4+)
Associative Arrays (declare -A, Bash 4+)
17
Array Operations (slice, concat, transform)
Array Operations (slice, concat, transform)
18
Looping Over Arrays
Looping Over Arrays
19
Array Sorting & Deduplication
Array Sorting & Deduplication
20
Array from Command Output (mapfile)
Array from Command Output (mapfile)
21
Multi-Dimensional Arrays (simulated)
Multi-Dimensional Arrays (simulated)
22
Bash Regex with =~
Bash Regex with =~
23
Bracket Expressions & POSIX Character Classes
Bracket Expressions & POSIX Character Classes
24
Extended Globbing (extglob)
Extended Globbing (extglob)
25
Sed with Extended Regex
Sed with Extended Regex
26
Awk Pattern Matching
Awk Pattern Matching
27
Grep and Perl-Compatible Regex
Grep and Perl-Compatible Regex
28
Regex Performance in Bash
Regex Performance in Bash
29
File Descriptor Manipulation
File Descriptor Manipulation
30
Redirection Operators (<, >, >>, 2>&1)
Redirection Operators (<, >, >>, 2>&1)
31
Named Pipes (FIFO)
Named Pipes (FIFO)
32
IO Redirection Order
IO Redirection Order
33
Socket Redirection (/dev/tcp)
Socket Redirection (/dev/tcp)
34
Buffer & Race Conditions in I/O
Buffer & Race Conditions in I/O
35
Redirection with exec
Redirection with exec
36
Function Definition & Return
Function Definition & Return
37
Local Variables (local) & Scoping
Local Variables (local) & Scoping
38
Function Arguments ($@, $*, shift)
Function Arguments ($@, $*, shift)
39
Recursive Functions
Recursive Functions
40
Function Export (export -f)
Function Export (export -f)
41
Trap in Functions
Trap in Functions
42
Autoloading Functions
Autoloading Functions
43
Signal Handling (trap)
Signal Handling (trap)
44
Common Signals (SIGINT, SIGTERM, SIGHUP)
Common Signals (SIGINT, SIGTERM, SIGHUP)
45
Cleanup Handler Pattern (trap EXIT)
Cleanup Handler Pattern (trap EXIT)
46
Signal Masking & Propagation
Signal Masking & Propagation
47
Process Group Signaling (kill -- -PGID)
Process Group Signaling (kill -- -PGID)
48
Timeouts with trap ALRM
Timeouts with trap ALRM
49
Debugging with trap DEBUG
Debugging with trap DEBUG
50
set -e, -u, -o pipefail
set -e, -u, -o pipefail
51
Bash Execution Tracing (set -x, PS4)
Bash Execution Tracing (set -x, PS4)
52
ShellCheck Static Analysis
ShellCheck Static Analysis
53
Bash -n Syntax Checking
Bash -n Syntax Checking
54
errexit Pitfalls
errexit Pitfalls
55
Debug Hooks (PS4, DEBUG trap)
Debug Hooks (PS4, DEBUG trap)
56
Bash Debugger (bashdb)
Bash Debugger (bashdb)
57
Process Startup Overhead (exec vs builtin)
Process Startup Overhead (exec vs builtin)
58
Avoid Useless forking
Avoid Useless forking
59
Brace Expansion Speed
Brace Expansion Speed
60
printf vs echo
printf vs echo
61
Built-in vs External Commands
Built-in vs External Commands
62
Reading Files Efficiently (read -N, mapfile)
Reading Files Efficiently (read -N, mapfile)
63
Parallel Execution Overhead
Parallel Execution Overhead
64
Injection Attacks (eval, $() in strings)
Injection Attacks (eval, $() in strings)
65
Sanitizing Input
Sanitizing Input
66
PATH & Environment Attacks
PATH & Environment Attacks
67
File Permission Checks
File Permission Checks
68
Temporary File Safety (mktemp)
Temporary File Safety (mktemp)
69
setuid Script Risks
setuid Script Risks
70
Shellshock (CVE-2014-6271)
Shellshock (CVE-2014-6271)
71
/dev/tcp & /dev/udp
/dev/tcp & /dev/udp
72
Netcat (nc) Patterns
Netcat (nc) Patterns
73
curl REST API Scripting
curl REST API Scripting
74
HTTP Server in Bash (socat)
HTTP Server in Bash (socat)
75
DNS Queries (host, dig)
DNS Queries (host, dig)
76
SSH Automation (ssh, scp, rsync)
SSH Automation (ssh, scp, rsync)
77
Network Diagnostics (ping, traceroute, mtr)
Network Diagnostics (ping, traceroute, mtr)
78
Grep Patterns & Performance
Grep Patterns & Performance
79
Sed Commands & Addresses
Sed Commands & Addresses
80
Awk Scripting (Records, Fields, Arrays)
Awk Scripting (Records, Fields, Arrays)
81
Cut, Paste, Join, Sort, Uniq
Cut, Paste, Join, Sort, Uniq
82
Pipe & Process Chains
Pipe & Process Chains
83
Xargs Tricks (Parallel, Delimiter)
Xargs Tricks (Parallel, Delimiter)
84
Large File Streaming
Large File Streaming
85
Background Processes (&)
Background Processes (&)
86
Wait for Job Completion
Wait for Job Completion
87
GNU Parallel Tool
GNU Parallel Tool
88
xargs -P (parallel)
xargs -P (parallel)
89
Job Control (fg, bg, jobs, disown)
Job Control (fg, bg, jobs, disown)
90
Semaphore Pattern with flock
Semaphore Pattern with flock
91
Parallel Download Scripts
Parallel Download Scripts

Quizzes

Bash Basics
5 questions
Bash Core Concepts
5 questions
Bash Intermediate
5 questions
Bash Advanced
5 questions
Bash Expert
5 questions
Bash Mastery
5 questions