But none of the examples you see do that, and your tools won't do that. The whole YAML ecosystem nudges you into writing your stuff unquoted, and it works most of the time and breaks just often enough to trip you up in production.
'', "", f'', f"", b'', b"", """""", "" "", '' '', r'', r""
Then there's docstrings which have special language support, textwrap.dedent, type annotation strings, several different interpolating systems and most people don't even know some of them.YAMLs strings are overblown and are just the result of having a few modifiers. Of all the things to complain about having ways to make chucks of text readable is the weirdest one. Don't even dare look at how many weird strings bash has.
2. I think bash is a bad tool and we just can't get rid of it because it's ubiquitous and people are used to it. Stockholm syndrome. I wish something like Oil shell or Nu shell would take over, ideally a shell which passes objects, not strings.
* three string syntaxes (regular, formatted, and raw) plus byte arrays.
* single vs double quotes, which are insignificant, other than that you don't need to escape the containing literal quote type.
* inline vs multiline.
These all compose in a predictable way.
If you want to be a jerk, you can multiply 4 * 2 * 2 and say "ZOMG 16 string types!!", but that's about as fair as saying that having positive/negative, octal/hex/dec, int/float, and standard/scientific means that a language has 24 numerical types.
"hello" "world"
blah = (
"line"
"line"
)
They are actually really useful when you want multi-line formatted strings without indentation and had to be made official when people wanted to take them away.> If you want to be a jerk, you can multiply 4 * 2 * 2 and say "ZOMG 16 string types!!"
And now you understand how they calculated the number of string types in YAML.
It's 30% of the reason people write YAML instead of JSON.