I'm seeing a problem with someone else's Cygwin setup, sort of similar to a problem I asked about a couple of weeks ago, in that it's a problem with the same user, but seemingly a completely different problem. He is using a Bash script that I wrote, and he gets a seemingly nonsensical error that I don't understand. The script starts out pretty simply, just like this: ------------------ #! /bin/bash #set -x main() { if [ "$1" == "" ]; then usage; exit; fi ... ----------------- He was getting a weird error on line 3, just saying this: --------------------- ...: line 3: syntax error near unexpected token `$'{\r'' ...: line 3: `main() { --------------- This was pretty perplexing, so I asked him to uncomment the "set -x" line to see if that provided any useful information, and that fails with a different error: ------------------- : invalid option...: line 2: set: - set: usage: set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...] ------------------ This also makes no sense to me. I compared our "uname -a" outputs, and they are almost identical. However, I then had him run "bash --version", and I compared it to mine. Ironically, I'm using an OLDER version of bash than he is. I'm on v4.4.12(3)-release, and he's on v5.2.15(3)-release. Is there something in 5.x versions of Bash that could cause these issues?