Escaping is a method of quoting single characters. The escape (\) preceding a character tells the shell to
interpret that character literally.
With some commands, like sed and echo, for example, the escaping has the opposite effect, it toggles on special characters. I have discussed about these special characters with the echo command here.
With some commands and utilities, such as echo and sed, escaping a character may have the opposite
effect, it can toggle on a special meaning for that character:
- \n – new line
- \r – return
- \t – tab
- \v – vertical tab
- \b – backspace
- \a – alert, beep or flash
Use -e to enable the special characters:
$ echo -e "\t\tText here" #this inserts two tabs before the text
$ echo -e "\n\nText here" #this inserts two new lines before the text
This will make the -e option unnecesarry: $’/Text’
$ echo $'\nText here' # this is the same as echo -e "\nText here"
How to display falues between double quotes with echo:
The double quotes you want to display need to be escaped: “\”escape”\”
$ echo "escape"
$ echo "\"escape"\"
How to escape the $ special character: \$
$ echo "The \"Linux\" book cost \$7.98."
The "Linux" book cost $7.98.
The escape character is also used to write a long command on more than one lines.
When the shell meets \, it reads the next line as it was on the current line:
$ echo foo\
$ echo "foo\
Related reading: Quoting in shell scripting
If you liked this article, read the other bash scripting articles.