Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

print double quotes in shell programming

Tags:

I want to print double quotes using echo statement in shell programming.

Example:

echo "$1,$2,$3,$4"; 

prints xyz,123,abc,pqrs

How to print "xyz","123","abc","pqrs";

I had tried to place double quotes in echo statement but its not being printed.

like image 993
Nagaraju Avatar asked Sep 21 '13 05:09

Nagaraju


People also ask

How do you print double quotes in shell?

To print a double quote, enclose it within single quotes or escape it with the backslash character. Display a line of text containing a single quote. To print a single quote, enclose it within double quotes or use the ANSI-C Quoting .

How do you display double quotes?

For printing double quotes(” “), using print() in C we make use of ” \” ” backslash followed by double quote format specifier.

How do you add a double quote to a string in a shell?

You can't use double quotation within another double quotation to assign any string value. If you want to print double quote in the output then you have to use the backslash (\) with the string.

How do you pass a double quote in bash?

Single quotes(') and backslash(\) are used to escape double quotes in bash shell script. We all know that inside single quotes, all special characters are ignored by the shell, so you can use double quotes inside it. You can also use a backslash to escape double quotes.


1 Answers

You just have to quote them:

echo "\"$1\",\"$2\",\"$3\",\"$4\"" 

As noted here:

Enclosing characters in double quotes (‘"’) preserves the literal value of all characters within the quotes, with the exception of ‘$’, ‘`’, ‘\’, and, when history expansion is enabled, ‘!’. The characters ‘$’ and ‘`’ retain their special meaning within double quotes (see Shell Expansions). The backslash retains its special meaning only when followed by one of the following characters: ‘$’, ‘`’, ‘"’, ‘\’, or newline. Within double quotes, backslashes that are followed by one of these characters are removed. Backslashes preceding characters without a special meaning are left unmodified. A double quote may be quoted within double quotes by preceding it with a backslash. If enabled, history expansion will be performed unless an ‘!’ appearing in double quotes is escaped using a backslash. The backslash preceding the ‘!’ is not removed.

The special parameters ‘*’ and ‘@’ have special meaning when in double quotes (see Shell Parameter Expansion).

like image 69
konsolebox Avatar answered Sep 20 '22 18:09

konsolebox