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

10 Mentors

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

3,303 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

Exercism is a great website

The reviews are incredibly helpful because they help me see things that I missed, learn about new ways and sometimes interesting discussions that can add a fun twist to maybe a simple problem.

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 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 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
Avatar of Alex Baranowski

Alex Baranowski https://github.com/AlexBaranowski

RHCE currently aiming for RHCA. I'm spending my best years in a console, so I know a thing or two about Linux :). Enjoy working for a small company where I automate the process of making Linux distro. Some folks call me DevOps.
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.
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.

Gigasecond
medium
dates
Reverse String
easy
strings
Phone Number
easy
control flow conditionals
error handling
string comparison
string transformation
Roman Numerals
medium
integers
logic
loops
strings
Diamond
medium
loops
strings
string transformation
Word Count
easy
control flow loops
string comparison
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 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 Mugurel (Bud) Chirica

Mugurel (Bud) Chirica

Full Stack Web Developer (Ruby, JavaScript, DevOps). www.linkedin.com/in/mugurel-teodor-chirica
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