They don’t do input checking and validation, they don’t check for errors, return codes and stuff…
No wonder their scripts fail or do something completely unexpected.
Can you blame it on the shell?
No this is not a rhetorical question: you cannot blame the shell for your negligence and incompetence.