这个问题不是 cygwin 特定的。但是,在 cygwin 邮件存档https://cygwin.com/ml/cygwin-announce/2010-08/msg00015.html中有各种用于设置 cygwin 特定 igncr shellopt 变量的说明,其中之一是说明:
4a。对于单个受影响的脚本,在 she-bang 之后添加以下行: ~ (set -o igncr) 2>/dev/null && set -o igncr; # 需要注释
我知道 set -o igncr 在 SHELLOPTS 中设置了 igncr。但是,我不明白为什么该指令还包括在子外壳中调用它。据我了解,子shell的变量和环境不会留在父进程中。它有什么用?