Bash

Join the Bash Track
Bash is a Unix command interpreter, for which plaintext files of commands can be made to create scripts. It's a powerful and concise way of getting stuff done!
Join the Bash Track
Track mentors

15 Mentors

Our mentors are friendly, experienced Bash developers who will help teach you new techniques and tricks.
Track students

8,313 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

86 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Bash

#!/bin/bash

echo "Hello, World!"

Bash is the language that you will learn to love!

Many of your everyday computer tasks can be done using the concise scripts it can produce. You will soon learn that while most things can be done through a Graphical User Interface, it can actually be vastly faster to use this powerful language! The command interpreter typically runs in a text window, where users may input commands (operations may also come from some files, also known as Bash scripts).

More formally, Bash (an acronym for Bourne-again shell, a pun around the Bourne shell and the term "born-again") is a Unix command interpreter. Offering a number of improvements over several other shells (Bash has some useful functionality in regards to command history, job control and command line editing).

A really good way to think about Bash is the following:

Although most users think of the shell as an interactive command interpreter, it is really a programming language in which each statement runs a command. Because it must satisfy both the interactive and programming aspects of command execution, it is a strange language, shaped as much by history as by design. —- Brian Kernighan & Rob Pike

cite: Kernighan, Brian W.; Pike, Rob (1984). The UNIX Programming Environment. Englewood Cliffs: Prentice-Hall. ISBN 0-13-937699-2.

Though it was first released several decades ago after being written by Brian Fox of the Free Software Foundation, Bash is still used across the world every day! From automation to stitching a project together, the language is still as versatile as it ever was. Another benefit of the language's age is the rich documentation you'll find surrounding it. If you're ever stuck and don't know exactly how to implement an exercise, a great place to start is the built-in help, available through the use of info bash or man bash.

This track is to help you gain some experience in this wonderful scripting language.

Happy Bash'ing

Join the Bash track

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

Relaxed. Encouraging. Supportive.

Meet the Bash Track mentors

Once you join the Bash language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Guy Gastineau

Guy Gastineau https://github.com/guygastineau

I love working in bash so much that I refuse to use DM's. When I want an open-box or i3 session I can choose to start X, but a computer that drops me straight into a tty just feels like home!
Avatar of Mugurel 'Bud' Chirica

Mugurel 'Bud' Chirica https://github.com/budmc29

Full Stack Web Developer (Ruby, JavaScript, DevOps). www.linkedin.com/in/mugurel-teodor-chirica
Avatar of Batuhan Taşkaya

Batuhan Taşkaya https://github.com/BTaskaya

Over 6 years GNU/Linux & *BSD experience. Developed / Improved bash scripts for various automations. Used most of known services and scripted them with bash.
Avatar of Glenn Jackman

Glenn Jackman https://github.com/glennj

Bash is one of the first languages encountered by a *nix newcomer. It has a unique position in the programming ecosystem as both the interactive shell and as a fully-fledged programming language. One can do amazing things with it, as long as one accepts the need to be somewhat disciplined in order to handle the sometimes gnarly syntax. I've been a command line *nix hacker for over 25 years and I am happy to assist others on their quest for shell mastery.
Avatar of Andoni Alonso

Andoni Alonso LinkedIn

SRE that loves work from the console. Some people say that I have a shellscript for everything. Always learning.
Avatar of Victor Goff

Victor Goff https://github.com/kotp

Find me mentoring in person or online. Everyone starts somewhere! Contact me to pair program!
Fun. Challenging. Interesting

Community-sourced Bash exercises

These are a few of the 86 exercises on the Bash track. You can see all the exercises here.

Matching Brackets
easy
control flow loops
strings
Robot Simulator
medium
control flow conditionals
control flow loops
input validation
Spiral Matrix
medium
arrays
control flow loops
text formatting
Change
hard
arrays
algorithms
logic
Rectangles
hard
control flow conditionals
control flow loops
strings
Acronym
easy
input validation
string transformation
strings
Passionate. Knowledgeable. Creative.

Meet the Bash Track maintainers

The Bash Maintainers are the brains behind the Bash Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Mugurel (Bud) Chirica

Mugurel (Bud) Chirica

Full Stack Web Developer (Ruby, JavaScript, DevOps). www.linkedin.com/in/mugurel-teodor-chirica
Avatar of Guy Gastineau

Guy Gastineau

I really love Linux and Bash! I think the only reason I use a window manager is for chrome/firefox. Every other open window on my machine is a terminal.
Avatar of Glenn Jackman

Glenn Jackman

I've been a command line *nix hacker for over 25 years, very active on Stack Overflow for over 10 years, and am happy to bring my experience to the Exercism community.
Avatar of Sam Warner

Sam Warner

I am a software developer and consultant working for Black Pepper Software, a software company based in Leamington Spa, England. I'm a recent Computer Science graduate from the University of Warwick, and love all things to do with computers!

Get started with the Bash track. As with everything on Exercism, it's 100% free!

Join the Bash Track