All .sh files had Windows-style CRLF line endings causing 'bad interpreter' errors on macOS/Linux. Stripped to LF and added .gitattributes to enforce LF for .sh files going forward. Closes #126