Skip to content

Click on each book below to review & buy on Amazon.

As an Amazon Associate, I earn from qualifying purchases.

CompTIA Linux+ XK0-005 - 3.1 - Shell Script Elements - Exit Codes

In shell scripting, exit codes are numeric values returned by executed commands or scripts. These codes indicate the success or failure of a command's execution. Understanding exit codes is important for error handling, control flow, and automation in shell scripts. In this guide, we will explore exit codes and their significance in shell scripting.

**Exit Codes and their Meaning

Exit codes are typically integers ranging from 0 to 255. The value 0 represents success or no errors, while any non-zero value indicates an error or a specific condition. Here are some commonly used exit codes and their meanings:

  • 0: Success or no errors.
  • 1: General error or unspecified failure.
  • 2: Incorrect usage or invalid arguments.
  • 126: Command invoked cannot execute.
  • 127: Command not found.
  • 128: Invalid exit status code.
  • 130: Script terminated by the user (Ctrl+C).
  • 255: Exit status out of range or unknown error.

These are just a few examples, and different commands or scripts may define their own exit codes for specific error conditions. It's important to consult the documentation or manual for individual commands to understand their specific exit codes.

Using Exit Codes in Shell Scripts

Exit codes provide valuable information that can be used in shell scripts for various purposes, such as error handling and decision making. Here are some ways you can utilize exit codes in your scripts:

  • Checking for Success: You can use the exit code of a command to determine if it executed successfully. For example:

shell if command; then echo "Command executed successfully." else echo "Command failed." fi

  • Conditional Execution: Exit codes can be used to conditionally execute commands based on the success or failure of previous commands. For example:

    command1 && command2  # Execute command2 only if command1 succeeds (exit code 0)
    command1 || command2  # Execute command2 only if command1 fails (non-zero exit code)
  • Error Handling: You can check the exit code of a command and take appropriate actions based on the result. This could include logging errors, sending notifications, or performing cleanup tasks.

  • Exit with Custom Codes: Within a script, you can explicitly set the exit code using the exit command. This allows you to define custom exit codes to indicate specific conditions or outcomes. For example:

shell if condition; then exit 0 # Custom exit code for a successful condition else exit 1 # Custom exit code for a failure fi


Exit codes play a vital role in shell scripting by providing a standardized way to communicate the success or failure of commands or scripts. Understanding exit codes allows you to handle errors effectively, control the flow of your script, and automate processes with confidence. By incorporating exit codes into your scripts, you can create robust and reliable automation workflows.

Support DTV Linux

Click on each book below to review & buy on Amazon. As an Amazon Associate, I earn from qualifying purchases.

NordVPN ®: Elevate your online privacy and security. Grab our Special Offer to safeguard your data on public Wi-Fi and secure your devices. I may earn a commission on purchases made through this link.