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

12 Mentors

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

5,194 Students

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

29 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 Matt Hoover

Matt Hoover Personal Site

I use Bash daily at work and home, and I think it is a foundational skill for mastering any UNIX-like system.
Avatar of Andrew Stoehr

Andrew Stoehr https://github.com/astoehr

Professional Software Engineer. Whenever I have something I need to automate, Bash is one of my go-tos - its flexibility and interesting syntax make it one of my favorite languages to write. Having direct access to command-line utilities within scripts makes Bash appealing by itself, but the language is so much more than just that. I look forward to helping others learn it!
Avatar of Noah A

Noah A GitHub

I am extremely fond of *nix systems, especially GNU + Linux (the combined OS). BASH lets me truly unlock my system's potential. As a student of BASH myself, I look to learn and share, so you can 'unlock' your system, too.
Avatar of Ryan Palo

Ryan Palo https://github.com/rpalo

I don't know why I love Bash. It's arcane, and hard to read, and not intuitive. But I love it, because it gets things done and makes me feel like a wizard. And I want to help you love it too!
Avatar of Steven Atkinson

Steven Atkinson https://github.com/mrstebo

If you're not using bash...why not?! Learning bash is one of the best things you can do. It can help automate tasks and make your life a lot easier.
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
Fun. Challenging. Interesting

Community-sourced Bash exercises

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

Hello World

easy
strings

Collatz Conjecture

easy
control flow conditionals
input validation
integers
math

Atbash Cipher

medium
cryptography
pattern matching
strings

Armstrong Numbers

easy
integers
math

Raindrops

easy
control flow conditionals
input validation
strings

Luhn

medium
algorithms
control flow conditionals
integers
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 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 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!
Avatar of Mugurel (Bud) Chirica

Mugurel (Bud) Chirica

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

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

Join the Bash Track