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!
Track mentors

7 Mentors

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

1,017 Students

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

26 Exercises

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

About Bash

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's 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
#!/bin/bash

echo "Hello, World!"

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 Victor Goff

Victor Goff https://github.com/kotp

Find me mentoring in person or online. Everyone starts somewhere! Contact me to pair program!
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 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 Ryan Boris

Ryan Boris GitHub

When you can remember a time when the only way to interact with a computer was via the CLI, you learn to love it and quite frankly I do love it. I have been using both bash style and zsh style shells on Mac and various Linux distros for almost a decade. Prior to my current career as a MEAN stack developer, I was an undergraduate professor of chemistry and gained a tremendous amount of experience with bash shell scripts to automate and run analytical chemistry based lab instrumentation. I love to learn form others and help others learn and would love to get you bash obsessed!
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 Björn Lindström

Björn Lindström Elektrubadur

I've used various Unixes on the desktop for around 20 years, and now work as a systems engineer, mainly with Linux systems. Along the way I've picked up bit of shell script.
Fun. Challenging. Interesting

Community-sourced Bash exercises

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

Pangram
easy
string transformation
strings
Hamming
easy
control flow loops
string comparison
Two Fer
easy
control flow conditionals
stdout
strings
text formatting
Word Count
easy
control flow loops
string comparison
strings
Grains
easy
control flow conditionals
input validation
Leap
easy
boolean logic
control flow conditionals
input validation
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.

Mugurel (Bud) Chirica

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

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