Bash Setup ========== *Adapted from* `Software Carpentry `__ The shell is a program that enables us to send commands to the computer and receive output. It is also referred to as the terminal or command line. Some computers include a default Unix Shell program. The steps below describe some methods for identifying and opening a Unix Shell program if you already have one installed. There are also options for identifying and downloading a Unix Shell program, a Linux/UNIX emulator, or a program to access a Unix Shell on a server. If none of the options below address your circumstances, try an online search for: Unix shell [your computer model] [your operating system]. Linux ----- The default Unix Shell for Linux operating systems is usually Bash. On most versions of Linux, it is accessible by running the `(Gnome) Terminal `__ or `(KDE) Konsole `__ or `xterm `__, which can be found via the applications menu or the search bar. If your machine is set up to use something other than Bash, you can run it by opening a terminal and typing ``bash`` and hitting :kbd:`Enter`. macOS ----- For a Mac computer running macOS Mojave or earlier releases, the default Unix Shell is Bash. For a Mac computer running macOS Catalina or later releases, the default Unix Shell is Zsh. Your default shell is available via the Terminal program within your Utilities folder. To open Terminal, try one or both of the following: - In Finder, select the Go menu, then select Utilities. Locate Terminal in the Utilities folder and open it. - Use the Mac ‘Spotlight’ computer search function. Search for: **Terminal** and press :kbd:`Return`. To check if your machine is set up to use something other than Bash, type ``echo $SHELL`` in your terminal window. If your machine is set up to use something other than Bash, you can run it by opening a terminal and typing ``bash``. However, it is not strictly speaking necessary to use bash for our purposes. Other shells, like ``zsh``, will work as well. To change the default shell, follow `these instructions `__. Windows ------- Computers with Windows operating systems do not automatically have a Unix Shell program installed. In this lesson, we encourage you to use an emulator included in `Git for Windows `__, which gives you access to both Bash shell commands and Git. If you are attending a Software Carpentry workshop session, it is likely you have already received instructions on how to install Git for Windows. Once installed, you can open a terminal by running the program Git Bash from the Windows start menu. Other solutions are available for running Bash commands on Windows. There is now a Bash shell command-line tool available for Windows 10. Additionally, you can run Bash commands on a remote computer or server that already has a Unix Shell, from your Windows machine. This can usually be done through a Secure Shell (SSH) client. One such client available for free for Windows computers is `PuTTY `__. See the reference below for information on installing and using PuTTY, using the Windows 10 command-line tool, or installing and using a Unix/Linux emulator. - `Git for Windows - Recommended `__ For advanced users, you may choose one of the following alternatives: - `Install the Windows Subsystem for Linux `__ - `Using a Unix/Linux emulator (Cygwin) or Secure Shell (SSH) client (PuTTy) `__ .. warning:: Please note that commands in the Windows Subsystem for Linux (WSL) or Cygwin may differ slightly from those shown in the lesson or presented in the workshop. Resources --------- This lesson is adapted from `The Unix Shell on Software Carpentry `__.