1. Introduction to BASH Shell Scripting
➢ The bash shell
➢ Bash Shell Script

2. Basics of Shell Scripting
➢ System variables
➢ User defined variables
➢ Accepting user input via keyboard

3. Command Line arguments and quoting
➢ Command Line arguments
➢ Single quote
➢ Double quote
➢ Backslash

4. Globbing and export statements
➢ Globbing
➢ The export statement

5. Array Operations in BASH
➢ Declaring an Array and Assigning values
➢ Initializing an Array during declaration
➢ To find length of Bash Array and length of nth element
➢ To print whole Bash Array
➢ Shell script to illustrate the concepts
➢ Extraction of Array elements
➢ Search and replace in an Array element
➢ To Add an element to an Array
➢ To remove an Element from an Array
➢ Shell script to illustrate the concepts

6. Conditional execution
➢ Test
➢ Syntax of test
➢ if…then
➢ Bash script example for if…then
➢ if…then…else…if
➢ ifelse with a password program
➢ Nested if
➢ Nested if with flowgraph
➢ Nested If-else with Name and Password verification program
➢ Multilevel if-then-else
➢ Multilevel if-then-else with flowgraph
➢ Multilevel if-else with String comparison program

7. Logical Operations
➢ Logical AND syntax
➢ Logical AND workflow
➢ Logical OR
➢ Logical OR workflow
➢ Logical OR and AND with string comparison program
➢ Logical NOT syntax
➢ Demonstration of logical NOT with an example(Example used: Checks whether a file exists)

8. Bash comparison-Arithmetic comparison
➢ Arithmetic comparison
➢ -eq(equal to)
➢-ne(not equal to)
➢ Demonstration of -eq and -ne with a word count program(Used: `wc w`)
➢ -lt(lesser than)
➢ -le(lesser than or equal to)
➢ -gt(greater than)
➢ -ge(greater than or equal to)
➢ Demonstration of -lt,-gt,-ge and -le with a word count program(Used: `wc -c`)

9. String and File Attributes comparison in BASH
➢ String comparison
➢ String comparison using == operator
➢ String comparison using != operator
➢ Simple program of user id to demnostrate string comparison
➢ File attributes comparisons
➢ File attributes discussed are -f,-s,-w,-nt,-ot

10.Conditional Loops
➢ The for loop statement
➢ for loop with three expression syntax
➢ for loop with sequence/range syntax
➢ flow of for loop program
➢ The while loop statement
➢ flow of for loop program
➢ A loop within a loop
➢ Outer for loop
➢ Nested for loop
➢ Inner for loop
➢ Syntax of nested for loop
➢ Finding files in the directories using nested for loop

11.Case statement in BASH
➢ Importance of case statement
➢ Syntax of case(With both single and multiple options)
➢ Work-flow of case statement
➢ Creating menus using case
➢ Case statement example
➢ Illustration of case statement with simple test for checking disk space

12. Using File Descriptors
➢ Introduction on fd
➢ Assign the file descriptor (fd) to file for output(exec fd > filename)
➢ Explained using an example of ‘date’ and ‘echo’
➢ Closing the output fd(exec fd < &-)
➢ Explaination on error for the statements defiened after closing fd
➢ Assign the file descriptor (fd) to file for input(exec fd < filename)
➢ Closing the input file descriptor(exec fd < &-)
➢ Explaination on input fd using ‘cat’

13.Basics of functions
➢ Writing your first shell function
➢ Displaying functions
➢ Writing functions
➢ Function defintion
➢ Calling functions
➢ Workflow of function
➢ Demonstration of function(Example used: Machine details program)
➢ Local variable in a function
➢ Global variable in a function
➢ Scope of local and global variables
➢ Demonstration of local and global variable by an example(Example used:Displaying complete name)
➢ Passing command line arguments
➢ Demonstration of passing command line arguments by an example(Example used: Displaying simple message)

14.Arrays & functions
➢ Arrays & functions
➢ Usability of array by different function call
➢ Array example
➢ Use of return in a function
➢ Use of exit in a function
➢ Illustration of return and exit by an example
➢ Workflow of functions having return and exit
➢ Source command
➢ Source command usage example
➢ Brief description on background function
➢ Illustration of bg function
➢ Use of Jobs command to find job number and PID

15.Recursive function
➢ Recursive function meaning and uses
➢ Illustration of recursive function(Example used: Factorial of a number)
➢ Debugging of bash script(bash -x filename)
➢ Work flow of recursive function with the help of flowchart