Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Color output (ANSI escape codes) in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are ANSI escape codes used for in bash scripting?
ANSI escape codes are special sequences that control text formatting, color, and other output options in the terminal.
Click to reveal answer
beginner
How do you print red colored text in bash using ANSI escape codes?
Use the code \033[31m before the text and \033[0m after to reset color. Example: echo -e "\033[31mRed Text\033[0m"
Click to reveal answer
beginner
What does the ANSI escape code \033[0m do?
It resets all text formatting and colors back to the terminal's default settings.
Click to reveal answer
beginner
Name three common text colors you can use with ANSI escape codes.
Red (31), Green (32), Yellow (33) are common colors used in ANSI escape codes.
Click to reveal answer
beginner
Why is it important to reset color after printing colored text in bash?
If you don't reset, the terminal will keep using the color for all following text, which can cause confusion or messy output.
Click to reveal answer
Which ANSI escape code sets the text color to green?
A\033[31m
B\033[32m
C\033[33m
D\033[0m
What does the escape sequence \033[0m do?
ASets text to bold
BClears the screen
CSets text color to blue
DResets all text formatting
How do you enable interpretation of backslash escapes in echo command?
Aecho -n
Becho -E
Cecho -e
Decho --escape
Which color code corresponds to yellow text in ANSI escape codes?
A33
B34
C31
D35
What happens if you forget to reset color after colored output?
AText color stays changed for following output
BTerminal crashes
CText becomes invisible
DNothing happens
Explain how to print colored text in bash using ANSI escape codes.
Think about how to start color, print text, then reset.
You got /3 concepts.
    List three common ANSI color codes and their colors.
    Remember the basic colors used in terminal output.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the ANSI escape code \e[31m do in a bash script?
      easy
      A. Resets all colors and styles
      B. Changes the background color to blue
      C. Changes the text color to red
      D. Makes the text bold

      Solution

      1. Step 1: Understand ANSI escape code format

        ANSI escape codes start with \e[ and end with m, where numbers define colors or styles.
      2. Step 2: Identify code 31

        Code 31 sets the text color to red in terminal output.
      3. Final Answer:

        Changes the text color to red -> Option C
      4. Quick Check:

        \e[31m = red text color [OK]
      Hint: 31 means red text color in ANSI codes [OK]
      Common Mistakes:
      • Confusing text color with background color
      • Thinking \e[31m resets colors
      • Assuming it makes text bold
      2. Which of the following is the correct syntax to print the word Success in green color using echo in bash?
      easy
      A. echo "\e[0m32mSuccess\e"
      B. echo -e "\e[32mSuccess\e[0m"
      C. echo "\e[32mSuccess"
      D. echo "\e[32mSuccess\e[32m"

      Solution

      1. Step 1: Use correct ANSI escape code format

        The code to start green text is \e[32m and to reset colors is \e[0m.
      2. Step 2: Check each option's correctness

        echo -e "\e[32mSuccess\e[0m" correctly wraps 'Success' with start and reset codes. Others have syntax errors or missing reset.
      3. Final Answer:

        echo -e "\e[32mSuccess\e[0m" -> Option B
      4. Quick Check:

        Start green with \e[32m and reset with \e[0m [OK]
      Hint: Always reset color with \e[0m after colored text [OK]
      Common Mistakes:
      • Forgetting to reset color after text
      • Placing reset code before text
      • Using incorrect escape code syntax
      3. What will be the output of the following bash command?
      echo -e "\e[33mWarning\e[0m: Disk space low"
      medium
      A. No color, plain text output
      B. Entire line in yellow color
      C. Syntax error due to missing quotes
      D. Warning in yellow color followed by ': Disk space low' in default color

      Solution

      1. Step 1: Analyze the escape codes in the command

        \e[33m sets yellow text color, \e[0m resets color back to default after 'Warning'.
      2. Step 2: Understand echo -e behavior

        Echo with -e interprets escape sequences, so 'Warning' appears yellow, rest normal.
      3. Final Answer:

        Warning in yellow color followed by ': Disk space low' in default color -> Option D
      4. Quick Check:

        \e[33m colors 'Warning', \e[0m resets color [OK]
      Hint: Reset color after colored text to limit color scope [OK]
      Common Mistakes:
      • Assuming entire line is colored
      • Ignoring -e flag in echo
      • Confusing color codes with styles
      4. Identify the error in this bash snippet intended to print Error in red:
      echo "\e[31mError\e[0m"
      medium
      A. Missing -e flag in echo to enable escape sequences
      B. Wrong color code for red
      C. Reset code \e[0m is incorrect
      D. Quotes should be single quotes instead of double

      Solution

      1. Step 1: Check echo command usage

        By default, echo does not interpret escape sequences without -e flag.
      2. Step 2: Confirm color codes and quotes

        Color code 31 for red and reset \e[0m are correct; double quotes allow escape sequences with -e.
      3. Final Answer:

        Missing -e flag in echo to enable escape sequences -> Option A
      4. Quick Check:

        Use echo -e to interpret \e codes [OK]
      Hint: Use echo -e to enable ANSI escape codes [OK]
      Common Mistakes:
      • Forgetting -e flag in echo
      • Changing correct color codes
      • Using wrong quote types unnecessarily
      5. You want to write a bash script that prints Success in green and Error in red on separate lines, then resets color. Which script snippet correctly does this?
      hard
      A. echo -e "\e[32mSuccess\e[0m"; echo -e "\e[31mError\e[0m"
      B. echo "\e[32mSuccess"; echo "\e[31mError"; echo "\e[0m"
      C. echo -e "\e[32mSuccess\e[31mError\e[0m"
      D. echo "\e[32mSuccess\n\e[31mError\e[0m"

      Solution

      1. Step 1: Check color codes and reset usage

        Each line uses correct color code (32 for green, 31 for red) and resets color with \e[0m.
      2. Step 2: Verify echo usage and line separation

        echo -e "\e[32mSuccess\e[0m"; echo -e "\e[31mError\e[0m" uses separate echo commands with -e flag and resets color after each line, ensuring correct colors and reset.
      3. Final Answer:

        echo -e "\e[32mSuccess\e[0m"; echo -e "\e[31mError\e[0m" -> Option A
      4. Quick Check:

        Separate echo with -e and reset color each line [OK]
      Hint: Use separate echo -e with reset for each colored line [OK]
      Common Mistakes:
      • Not resetting color after each line
      • Using single echo without proper newlines
      • Omitting -e flag in echo
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard