3 ms·
text\ with\ spaces is same as 'text with spaces' See https://mywiki.wooledge.org/Quotes https://mywiki.wooledge.org/Quotes
by asicsp 6y ago
text\ with\ spaces
is same as
'text with spaces'
See https://mywiki.wooledge.org/Quotes https://mywiki.wooledge.org/Quotes
- twic 6y agoIt's plainly not the same, you can see that by looking at it. It encodes the same text, but it encodes it a different way. And the difference is not negligible. With quotes, i can type or paste more into the middle, and the string is still valid. With escapes, i have to be careful to escape the added text. It's significantly more ergonomic to use quoted text.
- eMSF 6y agoIf you intend to type or paste quotes, you still need some additional escaping. And on the other hand, most substrings of (non-quoted) escaped text are themselves properly escaped.
- kps 6y agoksh's %q prefers quotes; for your example it prints 'text with spaces', and for the article's example, $'This string \'has single\' "and double" quotes and a $' vs bash's %q, This\ string\ \'has\ single\'\ \"and\ double\"\ quotes\ and\ a\ \$
- zeroimpl 6y agoYes the example in the article and parent comments ought to be referred to as escaping, not quoting. Most of the time, quoting with single quotes leads to something far easier on the eyes. Here's an example function for quoting from stdin: function bashquotesingle() { printf "'"; sed "s/'/'\\\\''/g"; printf "'"; } Though it does have a bug, at least on macOS, where sed adds a trailing newline. (See https://stackoverflow.com/questions/13325138/why-does-sed-add-a-new-line-in-osx https://stackoverflow.com/questions/13325138/why-does-sed-ad...)