Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/henryhale/learn-bash

💻 Learn Bash Shell Scripting by doing Exercises for Programmers
https://github.com/henryhale/learn-bash

bash bash-projects bash-script bash-scripting bash-scripts git github-actions henryhale learn-bash learn-bash-scripting learning learning-by-doing learning-by-examples learning-exercise linux linux-shell shell shell-script shell-scripting shell-scripts

Last synced: 3 days ago
JSON representation

💻 Learn Bash Shell Scripting by doing Exercises for Programmers

Awesome Lists containing this project

README

        


Bash Logo


Learn Bash Shell Scripting

## Introduction

This repo is based on a book titled: **Exercises for Programmers: 57 challenges to Develop Your Coding Skills** by **_Brian P. Hogan_**, edited by _Susannah Davidson Pfalzer_.

The book can be downloaded [here](https://github.com/Premalatha-success/Books-Python/blob/main/57%20Exercises%20for%20Programmers.pdf).

> "_This book is all about practicing your craft as a programmer.
>Flip to a page in this book, crack open your text editor, and
>hammer out the program. Make your own variations on it.
>Do it in a language you’ve never used before. And get better
>and better each time you do it._"

## Contents

Below is a list of programs built while learning Bash Shell Scripting

1. [Saying Hello](./01-saying-hello/)
2. [Counting Characters](./02-counting-characters/)
3. [Printing Qoutes](./03-printing-qoutes/)
4. [Mad Lib](./04-mad-lib/)
5. [Simple Math](./05-simple-math/)
6. [Retirement Calculator](./06-retirement-calculator/)
7. [Area of a Rectangular Room](./07-area-of-a-rectangular-room/)
8. [Pizza Party](./08-pizza-party/)
9. [Paint Calculator](./09-paint-calculator/)
10. [Self Checkout](./10-self-checkout/)
11. [Currency Conversion](./11-currency-conversion/)
12. [Simple Interest](./12-simple-interest/)

## Why?

I qoute some of the most motivational statements I've ever read:

> _"The best software developers I’ve ever met approach their
>craft the same way. They don’t go to work every day and
>practice on the employer’s dime. They invest personal time
>in learning new languages and perfecting techniques in
>others. Of course they learn new things on the job, but
>because they’re getting paid, there’s an expectation that they
>are there to perform, not practice."_

Most important of all...

>_"But that’s the real value of these
>exercises; they’ll help you learn a language and how that
>language is different from what you already know."_

## Development

Clone this repository

```sh
git clone https://github.com/henryhale/learn-bash.git
```

Navigate to the repository folder

```sh
cd learn-bash
```

Make the `init.bash` file executable

```sh
chmod +x init.bash
```

To get started with a new project, bootstrap one using:

```sh
./init.bash [project_name]
```

To save changes to remote repo, simply run and follow the prompts

```sh
./git.bash
```

## More Resources

### Challenges

- [CMD Challenge Website](https://cmdchallenge.com/)

### Archives
- [PESU IO Shell Scripting - GitHub Archive](https://github.com/Gituser143/PESU-IO-Shell-Scripting)

### Videos

- [Edureka's Shell Scripting Crash Course](https://www.youtube.com/watch?v=GtovwKDemnI)
- [Brad Traversy's Shell Scripting Crash Course](https://www.youtube.com/watch?v=v-F3YLd6oMw)