> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Course: Advanced Bash Scripting

> Learn advanced techniques and best practices to enhance your Bash scripting skills through interactive labs and hands-on exercises.

Notes for the **Advanced Bash Scripting** course: 74 lessons across 12 sections.

## Introduction

* [Course Introduction](/docs/Advanced-Bash-Scripting/Introduction/Course-Introduction/page.md)
* [Why learn advanced bash scripting](/docs/Advanced-Bash-Scripting/Introduction/Why-learn-advanced-bash-scripting/page.md)
* [Interactive vs non interactive shell](/docs/Advanced-Bash-Scripting/Introduction/Interactive-vs-non-interactive-shell/page.md)
* [Shell scripting vs Bash scripting](/docs/Advanced-Bash-Scripting/Introduction/Shell-scripting-vs-Bash-scripting/page.md)
* [Terminology](/docs/Advanced-Bash-Scripting/Introduction/Terminology/page.md)

## Conventions

* [Overview](/docs/Advanced-Bash-Scripting/Conventions/Overview/page.md)
* [Variables](/docs/Advanced-Bash-Scripting/Conventions/Variables/page.md)
* [Functions](/docs/Advanced-Bash-Scripting/Conventions/Functions/page.md)
* [Expanding](/docs/Advanced-Bash-Scripting/Conventions/Expanding/page.md)

## Refresher

* [Overview](/docs/Advanced-Bash-Scripting/Refresher/Overview/page.md)
* [Scriptflow](/docs/Advanced-Bash-Scripting/Refresher/Scriptflow/page.md)
* [Functions](/docs/Advanced-Bash-Scripting/Refresher/Functions/page.md)
* [Command Line Arguments](/docs/Advanced-Bash-Scripting/Refresher/Command-Line-Arguments/page.md)
* [pid](/docs/Advanced-Bash-Scripting/Refresher/pid/page.md)
* [Built in Commands](/docs/Advanced-Bash-Scripting/Refresher/Built-in-Commands/page.md)
* [Keywords builtins](/docs/Advanced-Bash-Scripting/Refresher/Keywords-builtins/page.md)
* [Guard clause](/docs/Advanced-Bash-Scripting/Refresher/Guard-clause/page.md)
* [Shebang](/docs/Advanced-Bash-Scripting/Refresher/Shebang/page.md)

## Streams

* [Overview](/docs/Advanced-Bash-Scripting/Streams/Overview/page.md)
* [Stdoutstderr](/docs/Advanced-Bash-Scripting/Streams/Stdoutstderr/page.md)
* [File descriptors](/docs/Advanced-Bash-Scripting/Streams/File-descriptors/page.md)
* [devnull](/docs/Advanced-Bash-Scripting/Streams/devnull/page.md)
* [Input](/docs/Advanced-Bash-Scripting/Streams/Input/page.md)
* [Heredocs](/docs/Advanced-Bash-Scripting/Streams/Heredocs/page.md)
* [Pipes](/docs/Advanced-Bash-Scripting/Streams/Pipes/page.md)
* [Pipefail](/docs/Advanced-Bash-Scripting/Streams/Pipefail/page.md)
* [Exit code](/docs/Advanced-Bash-Scripting/Streams/Exit-code/page.md)
* [Xargs](/docs/Advanced-Bash-Scripting/Streams/Xargs/page.md)
* [printf](/docs/Advanced-Bash-Scripting/Streams/printf/page.md)

## Expansions - Part One

* [Overview](/docs/Advanced-Bash-Scripting/Expansions-Part-One/Overview/page.md)
* [Variables](/docs/Advanced-Bash-Scripting/Expansions-Part-One/Variables/page.md)
* [Parameter Part One](/docs/Advanced-Bash-Scripting/Expansions-Part-One/Parameter-Part-One/page.md)
* [Parameter Part Two](/docs/Advanced-Bash-Scripting/Expansions-Part-One/Parameter-Part-Two/page.md)

## Globs

* [Overview](/docs/Advanced-Bash-Scripting/Globs/Overview/page.md)
* [Globs Question Mark](/docs/Advanced-Bash-Scripting/Globs/Globs-Question-Mark/page.md)
* [Star](/docs/Advanced-Bash-Scripting/Globs/Star/page.md)
* [Escape](/docs/Advanced-Bash-Scripting/Globs/Escape/page.md)
* [Mixed](/docs/Advanced-Bash-Scripting/Globs/Mixed/page.md)
* [Square](/docs/Advanced-Bash-Scripting/Globs/Square/page.md)

## Expansions - Part Two

* [Brace](/docs/Advanced-Bash-Scripting/Expansions-Part-Two/Brace/page.md)
* [Command Substitution](/docs/Advanced-Bash-Scripting/Expansions-Part-Two/Command-Substitution/page.md)
* [Subshells](/docs/Advanced-Bash-Scripting/Expansions-Part-Two/Subshells/page.md)

## Special Shell Variables

* [Overview](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/Overview/page.md)
* [Special shell Question mark](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/Special-shell-Question-mark/page.md)
* [Hashtag](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/Hashtag/page.md)
* [ifs](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/ifs/page.md)
* [Args](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/Args/page.md)
* [pid](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/pid/page.md)
* [Zero](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/Zero/page.md)
* [Underscore](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/Underscore/page.md)
* [Dash](/docs/Advanced-Bash-Scripting/Special-Shell-Variables/Dash/page.md)

## Arrays

* [Declare](/docs/Advanced-Bash-Scripting/Arrays/Declare/page.md)
* [Arrays](/docs/Advanced-Bash-Scripting/Arrays/Arrays/page.md)
* [Insert](/docs/Advanced-Bash-Scripting/Arrays/Insert/page.md)
* [Remove](/docs/Advanced-Bash-Scripting/Arrays/Remove/page.md)
* [Sort](/docs/Advanced-Bash-Scripting/Arrays/Sort/page.md)
* [Associative](/docs/Advanced-Bash-Scripting/Arrays/Associative/page.md)
* [Arrays demo](/docs/Advanced-Bash-Scripting/Arrays/Arrays-demo/page.md)

## Good Practices applied

* [Strict Mode](/docs/Advanced-Bash-Scripting/Good-Practices-applied/Strict-Mode/page.md)
* [no op Commands](/docs/Advanced-Bash-Scripting/Good-Practices-applied/no-op-Commands/page.md)
* [Comments](/docs/Advanced-Bash-Scripting/Good-Practices-applied/Comments/page.md)
* [Logging](/docs/Advanced-Bash-Scripting/Good-Practices-applied/Logging/page.md)

## awk

* [Introduction to awk](/docs/Advanced-Bash-Scripting/awk/Introduction-to-awk/page.md)
* [awk print](/docs/Advanced-Bash-Scripting/awk/awk-print/page.md)
* [Built in Variables](/docs/Advanced-Bash-Scripting/awk/Built-in-Variables/page.md)
* [Option F](/docs/Advanced-Bash-Scripting/awk/Option-F/page.md)
* [Option v](/docs/Advanced-Bash-Scripting/awk/Option-v/page.md)
* [Option Files](/docs/Advanced-Bash-Scripting/awk/Option-Files/page.md)
* [Bash Hybrid](/docs/Advanced-Bash-Scripting/awk/Bash-Hybrid/page.md)

## sed

* [Introduction](/docs/Advanced-Bash-Scripting/sed/Introduction/page.md)
* [sed print](/docs/Advanced-Bash-Scripting/sed/sed-print/page.md)
* [Delete](/docs/Advanced-Bash-Scripting/sed/Delete/page.md)
* [Find](/docs/Advanced-Bash-Scripting/sed/Find/page.md)
* [Substitute](/docs/Advanced-Bash-Scripting/sed/Substitute/page.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.