Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Escape characters (\) in Bash Scripting

Choose your learning style10 modes available
Introduction
Escape characters let you use special symbols or spaces in commands without confusion.
When you want to include spaces in file or folder names in commands.
When you need to use special characters like $, *, or & literally in a command.
When writing scripts that include quotes inside quotes.
When you want to prevent the shell from interpreting a character as a command.
When you want to write multi-line commands by escaping the newline.
Syntax
Bash Scripting
backslash \ followed by the character to escape
The backslash \ tells the shell to treat the next character as normal text.
Use it before spaces, quotes, or special symbols to avoid errors.
Examples
Use \ before space to change directory to a folder named 'My Documents'.
Bash Scripting
cd My\ Documents
Prints 'Hello World!' with spaces and exclamation mark escaped.
Bash Scripting
echo Hello\ World\!
Prints: She said "Hello" using escaped double quotes inside double quotes.
Bash Scripting
echo "She said \"Hello\""
Uses \ to escape newline for multi-line commands (note: in bash, \n is literal unless interpreted).
Bash Scripting
echo Line1\
Line2
Sample Program
This script shows how to use backslash to escape spaces in folder names, special characters like $ and *, and quotes inside quotes.
Bash Scripting
#!/bin/bash

# Create a folder with space in name
mkdir My\ Folder

# List the folder
ls My\ Folder

# Print a message with special characters
echo "This is a dollar sign: \$ and a star: *"

# Print a quote inside quotes
echo "He said \"Bash is fun!\""
OutputSuccess
Important Notes
Not all characters need escaping; only those with special meaning in bash.
You can also use single quotes to avoid escaping most characters.
Escaping helps avoid errors when file names or commands have spaces or symbols.
Summary
Escape character \ lets you use special symbols or spaces safely in bash commands.
Use \ before spaces, quotes, or special symbols to treat them as normal text.
Escaping helps your scripts run without errors caused by special characters.

Practice

(1/5)
1. What does the backslash (\) do in a bash command?
easy
A. It repeats the previous command
B. It comments out the rest of the line
C. It escapes special characters to treat them as normal text
D. It runs the command in the background

Solution

  1. Step 1: Understand the role of backslash in bash

    The backslash is used to escape special characters so they are treated literally.
  2. Step 2: Compare with other options

    Comments start with #, background runs use &, and repeating commands is done with !!, so these are incorrect.
  3. Final Answer:

    It escapes special characters to treat them as normal text -> Option C
  4. Quick Check:

    Escape character = D [OK]
Hint: Backslash means "escape next character" in bash [OK]
Common Mistakes:
  • Confusing backslash with comment symbol (#)
  • Thinking backslash runs commands in background (&)
  • Assuming backslash repeats commands
2. Which of the following is the correct way to escape a space in a bash filename?
easy
A. my file.txt
B. my\ file.txt
C. my file\.txt
D. my/file.txt

Solution

  1. Step 1: Identify how to escape spaces in bash

    Spaces must be escaped with a backslash to be treated as part of the filename.
  2. Step 2: Check each option

    my\ file.txt uses backslash before space correctly. my file.txt has unescaped space, C escapes dot incorrectly, D uses slash which is a directory separator.
  3. Final Answer:

    my\ file.txt -> Option B
  4. Quick Check:

    Escape space with \ = B [OK]
Hint: Use \ before spaces to keep filename intact [OK]
Common Mistakes:
  • Not escaping spaces causing command errors
  • Escaping wrong characters like dot instead of space
  • Using slash instead of backslash for spaces
3. What is the output of this bash command?
echo Hello\ World\!
medium
A. Hello World!
B. Hello\ World\!
C. HelloWorld!
D. Hello World\!

Solution

  1. Step 1: Understand escaping in echo command

    Backslash escapes spaces and exclamation mark, so they appear as normal characters.
  2. Step 2: Interpret the output

    The command prints: Hello World! with spaces and exclamation mark shown literally.
  3. Final Answer:

    Hello World! -> Option A
  4. Quick Check:

    Escaped spaces and ! print normally = C [OK]
Hint: Backslash shows special chars literally in output [OK]
Common Mistakes:
  • Thinking backslash prints as literal \
  • Ignoring escaped spaces causing joined words
  • Confusing output with unescaped exclamation
4. You want to print the path /home/user/My Documents in bash. Which command fixes the error caused by the space?
medium
A. echo /home/user/My\ Documents
B. echo /home/user/My Documents
C. echo /home/user/My\Documents
D. echo /home/user/My\ Documents\

Solution

  1. Step 1: Identify the problem with spaces in paths

    Spaces separate arguments, so they must be escaped or quoted to be treated as one string.
  2. Step 2: Check which command escapes the space correctly

    echo /home/user/My\ Documents escapes the space with backslash correctly. echo /home/user/My Documents causes error, C escapes wrong place, D adds extra backslash at end.
  3. Final Answer:

    echo /home/user/My\ Documents -> Option A
  4. Quick Check:

    Escape space in path = A [OK]
Hint: Escape spaces in paths with \ or use quotes [OK]
Common Mistakes:
  • Not escaping spaces causing command errors
  • Escaping wrong characters or missing escape
  • Adding unnecessary trailing backslash
5. You want to create a bash script that prints the exact string: Path is C:\Program Files\App. Which command inside the script will produce this output correctly?
hard
A. echo Path is C:\\Program Files\\App
B. echo 'Path is C:\Program Files\App'
C. echo Path is C:\Program Files\App
D. echo "Path is C:\\Program Files\\App"

Solution

  1. Step 1: Understand escaping backslashes in bash strings

    Backslash is special, so to print one backslash inside double quotes, use two backslashes \\.
  2. Step 2: Analyze each option's output

    echo "Path is C:\\Program Files\\App" doubles backslashes inside double quotes, printing correctly. echo 'Path is C:\Program Files\App' uses single quotes but backslash is literal, so output misses doubling. echo Path is C:\Program Files\App and D do not escape spaces or backslashes properly.
  3. Final Answer:

    echo "Path is C:\\Program Files\\App" -> Option D
  4. Quick Check:

    Double backslash inside quotes prints one backslash = A [OK]
Hint: Double backslash inside "" prints one backslash [OK]
Common Mistakes:
  • Using single backslash inside double quotes
  • Not escaping backslash at all
  • Confusing single and double quotes effects
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