📖 Scenario: You are writing a bash script to display special characters in the terminal. Sometimes, characters like quotes or backslashes need a special way to show up correctly.
🎯 Goal: Learn how to use the escape character \ in bash to print special characters like quotes and backslashes.
📋 What You'll Learn
Create a variable with a string containing double quotes using escape characters
Create a variable with a string containing a backslash using escape characters
Use echo to print both variables correctly showing the special characters
💡 Why This Matters
🌍 Real World
Scripts often need to print messages or file paths that include quotes or backslashes. Knowing how to escape these characters helps avoid errors.
💼 Career
Many automation and scripting tasks require handling strings with special characters correctly, especially in configuration files or logs.
Progress0 / 4 steps
1
Create a variable with a string containing double quotes
Create a variable called quote_string and set it to the text: She said, \"Hello!\" using escape characters for the double quotes.
Bash Scripting
Hint
Use \" to include double quotes inside a double-quoted string.
2
Create a variable with a string containing a backslash
Create a variable called path_string and set it to the text: C:\\Program Files\\ using escape characters for the backslashes.
Bash Scripting
Hint
Use \\ to include a single backslash inside a double-quoted string.
3
Print both variables using echo
Use echo to print the variables quote_string and path_string on separate lines.
Bash Scripting
Hint
Use double quotes around the variable names in echo to preserve spaces and special characters.
4
Run the script and see the output
Run the script and observe the output. It should print: She said, "Hello!" and C:\Program Files\
Bash Scripting
Hint
Run the script in your terminal to see the exact output.
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
Step 1: Understand the role of backslash in bash
The backslash is used to escape special characters so they are treated literally.
Step 2: Compare with other options
Comments start with #, background runs use &, and repeating commands is done with !!, so these are incorrect.
Final Answer:
It escapes special characters to treat them as normal text -> Option C
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
Step 1: Identify how to escape spaces in bash
Spaces must be escaped with a backslash to be treated as part of the filename.
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.
Final Answer:
my\ file.txt -> Option B
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
Step 1: Understand escaping in echo command
Backslash escapes spaces and exclamation mark, so they appear as normal characters.
Step 2: Interpret the output
The command prints: Hello World! with spaces and exclamation mark shown literally.
Final Answer:
Hello World! -> Option A
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
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.
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.
Final Answer:
echo /home/user/My\ Documents -> Option A
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
Step 1: Understand escaping backslashes in bash strings
Backslash is special, so to print one backslash inside double quotes, use two backslashes \\.
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.
Final Answer:
echo "Path is C:\\Program Files\\App" -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.