The SC2089 and SC2090 are rather strange.
2090 lacks a complete description. The wiki page is bare, linking to 2089:
https://www.shellcheck.net/wiki/SC2090
The rules arbitrarily ban quotes and backslashes in strings, just because sometimes shells handle these implicitly.
There's no automatable way for a linter to know the user's intent.
Very many things require quotes and backslashes.
These rules are the equivalent of slapping a grocer in the face every time they restock oranges, simply because oranges sometimes contain seeds. The number of valid use cases eclipse the number of hazards.
The SC2089 and SC2090 are rather strange.
2090 lacks a complete description. The wiki page is bare, linking to 2089:
https://www.shellcheck.net/wiki/SC2090
The rules arbitrarily ban quotes and backslashes in strings, just because sometimes shells handle these implicitly.
There's no automatable way for a linter to know the user's intent.
Very many things require quotes and backslashes.
These rules are the equivalent of slapping a grocer in the face every time they restock oranges, simply because oranges sometimes contain seeds. The number of valid use cases eclipse the number of hazards.