Bash shell script issue

wilson wilson@ds.net
Wed Sep 7 17:54:00 GMT 2016


> 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



More information about the Cygwin mailing list