Does your "script" contain embedded nulls perchance? A null byte terminates a string, so if you have a "line" (by definition a sequence of non-zero bytes terminated by a line separator) containing a zero-byte somewhere within, that will terminate the resulting string despite the entire "line" being read. If that string-terminator happens to occur within syntactically quoted text, then the next line will be read as a continuation of the syntactically quoted text until the closing quote is found. This may result in a valid command that does not contain any errors. See <https://xkcd.com/327/> Explained <https://www.explainxkcd.com/wiki/index.php/Little_Bobby_Tables>