On 2016-09-06 18:36, Kipton Moravec wrote: I am relatively new to shell scripts, but this works on linux and I do not know why it does not work for me in cygwin. ... What am I doing wrong or is this an error? Where do the carriage returns (^M) come from, and how do I get rid of them?
The (^M -Control M) characters are displayed because Windows is stupid and didn't do the sensible thing for End Of Line for plain text files. Linux/Unix uses a Carriage Return (CR) followed by a Line Feed (LF) to do an EOL. A Google search for "Control M Character" will bring up a lot of web sites dealing with explaining this.
You need to run "dos2unix" or "unix2dos" on your script to convert the EOL to the proper OS formatting when transferring between real Linux/Unix machines and Windows machines. These utilities are available in the Cygwin utilities download (look for it), but I'm not sure they are included in the basic default packages.
-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple