Introduction
In this project, you will learn how to create a chess board using Bash scripting. By completing this project, you will gain experience in using nested loops, color printing, and shell scripting.
🎯 Tasks
In this project, you will learn:
- How to set up the environment for creating the chess board
- How to prompt the user for the size of the chess board
- How to use nested loops to print the chess board with alternating black and white cells
🏆 Achievements
After completing this project, you will be able to:
- Create a visual chess board using Bash scripting
- Utilize nested loops to generate a grid-like structure
- Implement color printing to enhance the visual appeal of the output
- Prompt the user for input and use that input to generate the desired output
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
shell(("`Shell`")) -.-> shell/ControlFlowGroup(["`Control Flow`"])
linux(("`Linux`")) -.-> linux/BasicSystemCommandsGroup(["`Basic System Commands`"])
linux(("`Linux`")) -.-> linux/InputandOutputRedirectionGroup(["`Input and Output Redirection`"])
linux(("`Linux`")) -.-> linux/TextProcessingGroup(["`Text Processing`"])
shell(("`Shell`")) -.-> shell/BasicSyntaxandStructureGroup(["`Basic Syntax and Structure`"])
shell(("`Shell`")) -.-> shell/VariableHandlingGroup(["`Variable Handling`"])
shell(("`Shell`")) -.-> shell/AdvancedScriptingConceptsGroup(["`Advanced Scripting Concepts`"])
shell(("`Shell`")) -.-> shell/SystemInteractionandConfigurationGroup(["`System Interaction and Configuration`"])
shell/ControlFlowGroup -.-> shell/if_else("`If-Else Statements`")
linux/BasicSystemCommandsGroup -.-> linux/echo("`Text Display`")
linux/InputandOutputRedirectionGroup -.-> linux/redirect("`I/O Redirecting`")
linux/BasicSystemCommandsGroup -.-> linux/read("`Input Reading`")
linux/TextProcessingGroup -.-> linux/col("`Line Feed Filtering`")
shell/BasicSyntaxandStructureGroup -.-> shell/shebang("`Shebang`")
shell/BasicSyntaxandStructureGroup -.-> shell/comments("`Comments`")
shell/BasicSyntaxandStructureGroup -.-> shell/quoting("`Quoting Mechanisms`")
shell/VariableHandlingGroup -.-> shell/variables_decl("`Variable Declaration`")
shell/VariableHandlingGroup -.-> shell/variables_usage("`Variable Usage`")
shell/ControlFlowGroup -.-> shell/for_loops("`For Loops`")
shell/ControlFlowGroup -.-> shell/cond_expr("`Conditional Expressions`")
shell/AdvancedScriptingConceptsGroup -.-> shell/arith_expansion("`Arithmetic Expansion`")
shell/AdvancedScriptingConceptsGroup -.-> shell/read_input("`Reading Input`")
shell/AdvancedScriptingConceptsGroup -.-> shell/cmd_substitution("`Command Substitution`")
shell/AdvancedScriptingConceptsGroup -.-> shell/subshells("`Subshells and Command Groups`")
shell/SystemInteractionandConfigurationGroup -.-> shell/globbing_expansion("`Globbing and Pathname Expansion`")
subgraph Lab Skills
shell/if_else -.-> lab-299820{{"`Chess Board in Terminal`"}}
linux/echo -.-> lab-299820{{"`Chess Board in Terminal`"}}
linux/redirect -.-> lab-299820{{"`Chess Board in Terminal`"}}
linux/read -.-> lab-299820{{"`Chess Board in Terminal`"}}
linux/col -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/shebang -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/comments -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/quoting -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/variables_decl -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/variables_usage -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/for_loops -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/cond_expr -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/arith_expansion -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/read_input -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/cmd_substitution -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/subshells -.-> lab-299820{{"`Chess Board in Terminal`"}}
shell/globbing_expansion -.-> lab-299820{{"`Chess Board in Terminal`"}}
end