Use this page when a lesson asks you to run a command and the terms are new. You do not need to memorize shell syntax to complete the Passport.
An application, or app, is a program you open, such as a web browser or PowerShell. A browser is the app used to open websites. A file stores one item and a folder groups files. To download is to copy something from a website onto this computer. To install is to add an application so this computer can run it.
Command, Terminal, Shell, And Prompt#
A command is a line of text that tells a computer to do one task. You type or paste commands into a terminal, the text application used for commands. A shell is the part inside that application that reads the command and asks the computer to run it. You do not need programming experience to follow a copy-and-check command in this Passport.
PowerShell, Bash, and zsh are names of shells. Open only the application named for your computer below; it starts your configured shell automatically. Do not install a separate Bash or zsh application for this Passport. A Linux terminal normally starts Bash, and an SSH connection to Euler starts Bash on Euler in the same terminal window.
When an instruction says Terminal on your Linux computer, open the application named Terminal; it normally starts Bash for you. When it says after SSH connects to Euler, first connect as instructed; the same text window then controls Euler. Do not search for or install a separate Bash application.
| Computer | Application to open | Shell used in this guide | Ready prompt often looks like |
|---|---|---|---|
| Windows | PowerShell, or Windows Terminal with a PowerShell tab | PowerShell | PS C:\Users\Ada> |
| macOS | Terminal | zsh | ada@Mac ~ % |
| Linux | Terminal | Bash | ada@laptop:~$ |
| Euler after SSH login | The same local terminal window | Bash running on Euler | [ada@eu-login-xx ~]$ |
Some Macs open Bash instead of zsh because of an earlier setup. For the macOS
Git and SSH steps, keep that shell; you do not need to change your login shell
or disable history expansion. On macOS/Linux, printf '%s\n' "$0" shows the
current shell name (often -bash or -zsh). $SHELL names your configured login
shell and may differ from the shell currently running. The terminal application
and the shell inside it are separate things.
After SSH, you are using the remote computer's shell. Euler command blocks in
this guide are labelled Bash. If your Euler account opens another shell, run
bash for that session before those blocks; exit returns to the previous
shell. This does not change any startup file or default login shell.
The prompt is the text beside the blinking cursor when the shell is ready. The command is the instruction entered after it. The output is the text printed after the command runs.
Do not type prompt text such as PS C:\Users\Ada>, %, or $. Passport copy
buttons copy only the command.
For example, this is one short PowerShell session:
PS C:\Users\Ada> git --version
git version 2.51.0
PS C:\Users\Ada>
PS C:\Users\Ada>is the prompt already printed by PowerShell.git --versionis the command you paste and run.git version 2.51.0is output from Git; your version number may differ.- the final prompt means the command finished and the shell is ready again.
A terminal panel inside an editor such as VS Code can also contain a shell, but use the standalone application during first setup. Do not paste a command into a browser address bar, a Markdown file, an editor's search box, or a chat.
Try One Harmless Command#
Choose only the command for your computer. It prints terminal-ready and does
not install, delete, or configure anything.
Windows PowerShell:
Write-Output "terminal-ready"
macOS or Linux Terminal:
printf 'terminal-ready\n'
Expected: the next line is terminal-ready, followed by the prompt again. You
have now opened the correct application and run one command.
Open The Correct Application#
Windows#
- Press the Windows key.
- Type
PowerShell. - Open PowerShell. Windows Terminal is also suitable when its tab says PowerShell.
- Wait for a line beginning with
PSand a blinking cursor.
Use the PowerShell window that appears. It provides both the text window and the shell for this guide.
Do not use Command Prompt, Git Bash, or WSL for a block labelled PowerShell. Their command languages differ. Installing Git may add an application named Git Bash; its presence does not change which application this guide tells you to open.
macOS#
- Press Command+Space.
- Type
Terminal. - Press Return.
- Wait for a prompt normally ending with
%.
The default shell is zsh. Terminal starts it automatically; do not search for a separate zsh app. Use command blocks labelled for Terminal on your Mac.
Linux#
- Open the applications menu.
- Open the application named Terminal.
- Wait for a prompt, normally ending with
$.
Ubuntu normally starts Bash. Use command blocks labelled for Terminal on your Linux computer. Do not run an Ubuntu command block on another Linux distribution unless the page says it applies there.
Run One Command#
- Read the application and computer named above the command.
- Choose Copy.
- Click once after the prompt in the named terminal.
- Paste the command.
- Press Enter once.
- Wait until the output stops and the prompt returns.
- Compare the output with Expected on the page.
For a block containing several lines, paste the complete block once. Do not also paste the heading, expected result, or explanatory text.
Know Which Computer Receives The Command#
Local means the computer in front of you. Remote means another computer
reached over a network. A server is a remote computer that provides a
service. SSH, or Secure Shell, is a protected way to open a shell on a remote
computer. After ssh euler, the same terminal window contains Bash running on
an Euler server rather than a shell running on your laptop. The prompt changes,
and the mission labels later commands as Euler / Bash.
Do not run a command on Euler merely because its terminal window is open. Read the machine label on every step.
Paths And The Current Folder#
A path is the address of a file or folder:
- Windows example:
C:\Users\Ada\project - macOS or Linux example:
/home/ada/project
The current folder, also called the current directory, is the folder where an unqualified command acts. A mission that needs a particular folder provides an exact command to enter it. Keep that terminal in the stated folder until the mission says otherwise.
Stop A Running Program#
When a mission says press Ctrl+C, hold the Ctrl key and tap C once. Do not
type the characters Ctrl+C. This asks the program currently using the
terminal to stop. Wait for the normal prompt to return before typing another
command.
Closing the terminal also stops programs in it, but may hide useful output. Prefer Ctrl+C when the mission names it.
Password Prompts#
Only enter a password when the documented step explicitly expects a prompt from the operating system or service you are using. Some shells show no dots or characters while a password is typed; this is normal. Never paste a password, token, recovery code, or SSH private key into the Passport, Git, an issue, or an AI tool.
If A Command Fails#
Read the first error and use the If not instruction for that step.
command not foundmeans the named program is unavailable in this shell.No such file or directoryusually means the path or current folder is wrong.Permission deniedmeans access was refused; it does not mean you should add administrator rights.
Do not guess with sudo (Linux administrator mode), Run as administrator,
changed file permissions, or a repeated installation. Run
gh passport doctor from a new terminal when the mission directs you to it,
and submit only error text with credentials and private details removed through
the help path.