{"id":17383215,"url":"https://github.com/hegdepavankumar/shell-scripting-tutorial","last_synced_at":"2025-10-17T08:29:51.039Z","repository":{"id":170485150,"uuid":"646624251","full_name":"hegdepavankumar/shell-scripting-tutorial","owner":"hegdepavankumar","description":"Welcome to the \"Shell Scripting Zero to Hero\" repository, your comprehensive guide to mastering Bash shell scripting for real-world corporate scenarios. Whether you're a beginner looking to automate tedious tasks or an experienced developer aiming to enhance your scripting skills, this tutorial takes you from the basics to hero-level scripting.","archived":false,"fork":false,"pushed_at":"2024-08-10T05:10:08.000Z","size":288,"stargazers_count":67,"open_issues_count":0,"forks_count":23,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-30T11:06:51.511Z","etag":null,"topics":["bash","bash-script","bash-scripting","bash-tutorial","linux-beginners","linux-learning","linux-shell","linux-tutorial","linux-tutorials","shell","shell-script","shell-scripting","shell-scripting-tutorial","shellscript"],"latest_commit_sha":null,"homepage":"https://hegdepavankumar.github.io/shell-scripting-tutorial/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hegdepavankumar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-05-29T01:00:27.000Z","updated_at":"2025-01-27T23:47:04.000Z","dependencies_parsed_at":"2024-01-30T08:42:48.797Z","dependency_job_id":"47a2b641-c9e2-4743-ba66-fb684c695036","html_url":"https://github.com/hegdepavankumar/shell-scripting-tutorial","commit_stats":null,"previous_names":["hegdepavankumar/bash-scripting-basic-to-advanced","imhegde/bash-scripting-basic-to-advanced","hegdepavankumar/shell-scripting-zero-to-hero","hegdepavankumar/bash-scripting-tutorial-linux-shell-script-for-beginners","hegdepavankumar/shell-scripting-tutorial"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegdepavankumar%2Fshell-scripting-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegdepavankumar%2Fshell-scripting-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegdepavankumar%2Fshell-scripting-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegdepavankumar%2Fshell-scripting-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hegdepavankumar","download_url":"https://codeload.github.com/hegdepavankumar/shell-scripting-tutorial/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237547532,"owners_count":19327871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-script","bash-scripting","bash-tutorial","linux-beginners","linux-learning","linux-shell","linux-tutorial","linux-tutorials","shell","shell-script","shell-scripting","shell-scripting-tutorial","shellscript"],"created_at":"2024-10-16T07:40:58.422Z","updated_at":"2025-10-17T08:29:45.986Z","avatar_url":"https://github.com/hegdepavankumar.png","language":null,"readme":"\n![GitHub](https://img.shields.io/github/license/hegdepavankumar/shell-scripting-tutorial?style=flat)\n![GitHub top language](https://img.shields.io/github/languages/top/hegdepavankumar/shell-scripting-tutorial?style=flat)\n![GitHub last commit](https://img.shields.io/github/last-commit/hegdepavankumar/shell-scripting-tutorial?style=flat)\n![ViewCount](https://views.whatilearened.today/views/github/hegdepavankumar/shell-scripting-zero-to-hero.svg?cache=remove)\n\n\n\n[![telegram (1)](https://github.com/hegdepavankumar/shell-scripting-tutorial/assets/85627085/ab437638-444e-4887-bab1-7ed21413fa68)](https://t.me/resourcehub1)\n\n\u003cbr\u003e\n\n# SUPPORT ME -- 🚩💲🙏\n\n### 🚀 Love my Shell Scripting Tutorial repo? It's your go-to resource for mastering shell scripting for network/security engineer roles and automating daily tasks. I've invested valuable time to create a comprehensive guide. If you find it helpful, consider showing your support with a coffee ☕️ or your best wishes. Your appreciation keeps this resource thriving!\n\n\u003ca href=\"https://www.buymeacoffee.com/hegdepavankumar\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\n---\n\n# Free and Paid Learning Resources: [Claim now](https://buymeacoffee.com/hegdepavankumar/extras)\n\n\u003cbr\u003e\n\n# Shell Scripting: A Complete Guide\n\nWelcome to the \"Shell Scripting Zero to Hero\" repository, your comprehensive guide to mastering Bash shell scripting for real-world corporate scenarios. Whether you're a beginner looking to automate tedious tasks or an experienced Network/Software Engineer aiming to enhance your scripting skills, this tutorial takes you from the basics to hero-level scripting.\n\n🚀 **What's Inside:**\n- **Foundational Concepts:** Learn the fundamentals of Bash, including basic commands, variables, and data types.\n- **Control Flow:** Master conditional statements and loops for efficient script execution.\n- **Functions and Arrays:** Dive into the world of functions, arrays, and advanced data manipulation.\n- **File Handling and Text Processing:** Explore file operations, regular expressions, and powerful text-processing tools.\n- **Automation Techniques:** Discover how to automate tasks, manage processes, and schedule jobs with cron.\n- **Security and Best Practices:** Write secure scripts, adhere to coding standards, and implement best practices.\n- **Real-world Examples:** Apply your skills to practical examples, from log analysis to system monitoring.\n- **Version Control and Documentation:** Learn to manage scripts with version control and document your code effectively.\n\n👩‍💻 **Hands-On Learning:** Each section comes with hands-on exercises and real-world scenarios to reinforce your understanding.\n\n🌐 **Who Is This For?**\n- Beginners eager to start their scripting journey.\n- Intermediate users seeking to deepen their knowledge.\n- Professionals wanting to apply scripting in corporate environments.\n\n📚 **Why \"Zero to Hero\"?**\nThis repository is designed to take you from a novice to a scripting hero, providing the tools and knowledge needed to excel in real-world scripting tasks.\nAbsolutely, here are 5 key points for your Bash scripting tutorial:\n\n1. **Universal Power of Bash:**\n   - Highlight the prevalence of Bash on Unix-like systems, making it an essential skill for anyone dealing with networking and system administration.\n\n2. **Hands-on Setup:**\n   - Provide a step-by-step guide for beginners to set up their scripting environment, ensuring they can dive into Bash without unnecessary obstacles.\n\n3. **Practical Automation:**\n   - Showcase real-world examples of how Bash scripting can automate common networking tasks, emphasizing its practical applications for professionals.\n\n4. **Modularity for Efficiency:**\n   - Stress the importance of writing modular scripts, enabling both beginners and professionals to create organized and reusable code for efficient problem-solving.\n\n5. **Corporate Impact:**\n   - Illustrate the value of scripting in a corporate environment, where time-saving automation can lead to increased productivity and smoother network operations.\n\nReady to become a scripting hero? Clone the repository, follow the tutorials, and start scripting your way to success!\n## Connect with me : [Join Telegram](https://t.me/resourcehub1)\n\n\n\u003cbr\u003e\n\n\n# Table of Contents\n\u003cbr\u003e\n\n## Quick-Recap | [Linux-cheat-sheet](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/Linux-cheat-sheet.md)\n## [**Prerequisites:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/01.Introduction-to-Bash/01.What%20is%20Bash.md)\n\n1. [**Introduction to Bash:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/01.Introduction-to-Bash)\n   - [What is Bash?](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/01.Introduction-to-Bash/01.What%20is%20Bash.md)\n   - [Importance of shell scripting in automation.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/01.Introduction-to-Bash/02.Importance%20of%20shell%20scripting%20in%20automation.md)\n\n2. [**Basic Commands:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/02.Basic-Commands)\n   - [Basic commands (ls, cd, mkdir, rm, cp, mv, etc.).](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/02.Basic-Commands/01.Basic_Commands.md)\n   - [Understanding file permissions (chmod, chown).](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/02.Basic-Commands/02.Understanding_file_permissions.md)\n\n3. [**Variables and Data Types:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/03.Variables-and-Data-Types)\n   - [Declaring and using variables.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/03.Variables-and-Data-Types/01.Declaring_and_using_variables.md)\n   - [String manipulation.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/03.Variables-and-Data-Types/02.String_manipulation.md)\n   - [Numeric operations.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/03.Variables-and-Data-Types/03.Numeric_Operations.md)\n\n4. [**Conditional Statements:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/04.Conditional-Statements)\n   - [if, elif, else statements.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/04.Conditional-Statements/01.if_elif_else_statements.md)\n   - [Case statements.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/04.Conditional-Statements/02.Case_statements.md)\n\n5. [**Loops:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/05.Loops)\n   - [for, while, until loops.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/05.Loops/01.for_while_until_loops.md)\n   - [Loop control statements (break, continue).](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/05.Loops/02.Loop_control%20statements_(break%2C%20continue).md)\n\n6. [**Functions:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/06.Functions)\n   - [Defining and using functions.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/06.Functions/01.Defining_and_using_functions.md)\n   - [Passing arguments to functions.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/06.Functions/02.Passing_arguments_to_functions.md)\n   - [Returning values from functions.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/06.Functions/03.Returning_values_from_functions.md)\n\n7. [**Arrays:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/07.Arrays)\n   - [Declaring and accessing arrays.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/07.Arrays/01.Declaring_and_accessing_arrays.md)\n   - [Array manipulation.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/07.Arrays/02.Array_manipulation.md)\n\n8. [**File Handling:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/08.File-Handling)\n   - [Reading from and writing to files.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/08.File-Handling/01.Reading_from_and_writing_to_files.md)\n   - [Checking file existence and type.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/08.File-Handling/02.Checking_file_existence_and_type.md)\n   -[File manipulation commands (sed, awk).](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/08.File-Handling/03.File_manipulation_commands_(sed%2C%20awk).md)\n\n9. [**Input/Output Redirection:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/09.Input_Output-Redirection)\n   - [Redirecting standard input and output.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/09.Input_Output-Redirection/01.Redirecting_standard_input_and_output.md)\n   - [Using pipes for command chaining.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/09.Input_Output-Redirection/02.Using_pipes_for_command_chaining.md)\n\n10. [**Regular Expressions:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/10.Regular-Expressions)\n    - [Basic regex patterns.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/10.Regular-Expressions/01.Basic_regex_patterns.md)\n    - [grep, sed, and awk for pattern matching and text processing.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/10.Regular-Expressions/02.grep%2C%20sed%2C%20and%20awk%20for%20pattern%20matching%20and%20text%20processing.md)\n\n11. [**Error Handling:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/11.Error-Handling)\n    - [Handling errors with exit codes.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/11.Error-Handling/01.Handling_errors_with_exit_codes.md)\n    - [Using `trap` for signal handling.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/11.Error-Handling/02.Using_trap_for_signal_handling.md)\n\n12. [**Environment Variables:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/12.Environment-Variables)\n    - [Built-in environment variables.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/12.Environment-Variables/01.Built-in_environment_variables.md)\n    - [Custom environment variables.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/12.Environment-Variables/02.Custom_environment_variables.md)\n\n13. [**Debugging Techniques:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/13.Debugging-Techniques)\n    - [Using `echo` and `printf` for debugging.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/13.Debugging-Techniques/01.Using_echo_and_printf_for_debugging.md)\n    - [Setting and using breakpoints.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/13.Debugging-Techniques/02.Setting_and_using_breakpoints.md)\n\n14. [**Advanced Scripting Techniques:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/14.Advanced-Scripting-Techniques)\n    - [Managing processes (ps, kill, jobs).](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/14.Advanced-Scripting-Techniques/01.Managing_processes%20(ps%2C%20kill%2C%20jobs).md)\n    - [Job scheduling with cron.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/14.Advanced-Scripting-Techniques/02.Job_scheduling_with_cron.md)\n    - [Signal handling.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/14.Advanced-Scripting-Techniques/03.Signal_handling.md)\n\n15. [**Security Best Practices:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/15.Security-Best-Practices)\n    - [Writing secure scripts.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/15.Security-Best-Practices/01.Writing_secure_scripts.md)\n    - [Avoiding common pitfalls.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/15.Security-Best-Practices/02.Avoiding_common_pitfalls.md)\n\n16. [**Interacting with External Commands:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/16.Interacting-with-External-Commands)\n    - [Running external commands from scripts.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/16.Interacting-with-External-Commands/01.Running%20external%20commands%20from%20scripts.md)\n    - [Capturing and using command output.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/16.Interacting-with-External-Commands/02.Capturing%20and%20using%20command%20output.md)\n\n17. [**Real-world Examples:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/17.Real-world-Examples)\n    - [Practical scripts for common tasks (log analysis, data processing, system monitoring).](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/17.Real-world-Examples/01.Practical%20scripts%20for%20common%20tasks%20(log%20analysis%2C%20data%20processing%2C%20system%20monitoring).md)\n    - [Integration with other tools and technologies.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/17.Real-world-Examples/02.Integration%20with%20other%20tools%20and%20technologies.md)\n\n18. [**Best Practices:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/tree/main/Tutorial-Files/19.Best-Practices)\n    - [Coding standards.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/19.Best-Practices/01.Coding%20standards.md)\n    - [Code reviews and collaboration.](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/19.Best-Practices/02.Code%20reviews%20and%20collaboration.md)\n\n19. [**Conclusion:**](https://github.com/hegdepavankumar/bash-scripting-tutorial/blob/main/Tutorial-Files/19.Conclusion.md)\n20. [**Resources for learning more about Bash scripting:**]()\n\n\n\n\n\u003chr\u003e\n   \n\u003cbr\u003e\n\n## Creator [🔝](Images-for-GNS3-and-EVE-NG)\n\n(https://github.com/hegdepavankumar). Created by:-\n\n| [\u003cimg src=\"https://github.com/hegdepavankumar.png?size=115\" width=\"115\"\u003e\u003cbr\u003e\u003csub\u003e@hegdepavankumar\u003c/sub\u003e](https://github.com/hegdepavankumar) |\n\n\u003cbr\u003e\n\u003ch3 align=\"center\"\u003eShow some \u0026nbsp;❤️\u0026nbsp; by starring some of the repositories!\u003c/h3\u003e\n \u003c!-- Support Me --\u003e \nIf you like what I do, maybe consider buying me a coffee 🥺👉👈\n\n\u003ca href=\"https://www.buymeacoffee.com/hegdepavankumar\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-red.png\" alt=\"Buy Me A Coffee\" width=\"150\" \u003e\u003c/a\u003e \n","funding_links":["https://www.buymeacoffee.com/hegdepavankumar","https://buymeacoffee.com/hegdepavankumar/extras"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhegdepavankumar%2Fshell-scripting-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhegdepavankumar%2Fshell-scripting-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhegdepavankumar%2Fshell-scripting-tutorial/lists"}