Log In
Join
 for free
Log In
Join
 for free
Back To Course Home
The Complete Guide to Bash Programming
0% completed
Introduction
Who Is This Course For?
Hurdles in Learning
An Insight on Existing Learning Material
Why This Course?
Origins of the OS
Operating Systems
Electromechanical Computer
Relay Computers
Electrical Computers
OS in Commercial Computers
Operating Systems
How the OS Works
Application Programming Interface
Computer Devices
OS Features
Multitasking
Multiprogramming
GUI: An Overview
GUI: TTY and CLI
GUI: TUI and Xerox
OS Versions
OS: Windows
OS: Linux
Application
Computer Program
Levels of Computer Memory
Machine Code
Exercise: Number Conversions
Source Code
Compiler
Interpreter
Bash Shell
Development Tools
Command Interpreter
Command-line Interface
File System
Directory Structures
File System Navigation Commands
Command pwd
The ls Utility
The mount Utility
Command cd
Command history
The find Utility
Using Glob Pattern with the find Utility
Advanced Usage of the find Utility
Logic Expressions
The grep Command
echo and grep
Command Information
Man Page System and Command help
Info System and Brief Help
Files and Directories
Actions on Files and Directories
The mkdir Utility
The rm Utility
The cp and mv Utilities
Exercise: Commands
File System Permissions
Unix Permissions
File Execution
Installing and Running Applications in Bash
Bash Extra Features
Unix Design Philosophy
GNU Utilities
I/O Redirection
Pipelines
Advanced Pipeline Example
Limitations of the find Utility
The xargs Utility
Pipeline Pitfalls
Logical Operator AND
More on Operators
Combining Commands
Exercise: Bash Features
Scripts Features
Why Do We Need Scripts?
Backup Command Example
Verifying the Backup Command
Poor Technical Solution
Using Bash Script
Commands Sequence
Script Parameters
Script with Other Commands
Summary
Variables and Parameters
What are Variables?
Classification of Variables
Declaration Mechanism: User-Defined Variables
Bash Expansions
Exercise: Writing a Bash Script
Declaration Mechanism: Internal Variables
Declaration Mechanism: Special Parameters
Scope: Environment Variables
Scope: Local Variables
Type Systems
Content Type: Variable Attributes
Declaring Variables with Attributes
Composite Type: Indexed Arrays
Using Indexed Arrays
Practice: Indexed Arrays
Composite Types: Associative Arrays
Conditional Statements
If Statement
If-else Statement
Exercise: If Statement
The [[ Operator
Advanced Features of the [[ Operator
Operator [[ and Integers
Exercise: Operator [[
Exercise: The [[ Operator and Directories
Case Statement
if and case Statements
Exercise: Case Statement
Alternative to the Case Statement
Exercise: Case Statement and Associative Array
Arithmetic Expressions and Operations
Integer Representation
Sign-magnitude Representation
One's Complement
Two's Complement
Converting Numbers
The (( Operator
Operations in the Arithmetic Expressions
Arithmetic Operations
Bitwise Operations
Bitwise negation
Exercise: Bitwise NOT
Bitwise AND, OR and XOR
Exercise: Bitwise AND, OR, and XOR
Bit Shifts
Exercise: Bit shifts
Changing Byte Order Using Bitwise Operations
More on Using Bitwise Operations
Logical Operations and Increments
Logical Operations
Increment and Decrement
Ternary Operator
Loop Operators
Loop Constructs
While Statement
Infinite Loop
Reading a Standard Input Stream
Script for Managing the Contacts
For Statement: The First Form of For
Files Processing
For Statement: The Second Form of For
Controlling the Loop Execution: break
Controlling Loop Execution: continue
Exercise: Loop Constructs
Functions
Programming Paradigms
Using Functions in Shell
Functions and Aliases
Difference Between Functions and Aliases
Using Functions in Scripts
Returning a Function Result
Variable Scope
Exercise: Functions
Exercise: Variable Scope
General Recommendations on Functions
Package Manager
Repository
Operating on Packages
Conclusion
Final words
Course Assessment
Bash Programming from Scratch
Bash Scripts Tools
Tools Needed for Bash
Source Code Editor
Launching the Editor
Background Mode
APPENDIX
Bash on Windows
Bash on macOS
Command-line Interface
Learn why a CLI is needed even today.
We'll cover the following
Demand for the CLI
Shell capabilities
Strength of CLI
Benefits of learning CLI
Changing multiple files
Integrated development environments
Helper utilities
Demand for the CLI
Get hands-on with 1200+ tech skills courses.
Start Free Trial