Cygwin flex无法在sh脚本中打开文件

Cygwin flex无法在sh脚本中打开文件,cygwin,flex-lexer,Cygwin,Flex Lexer,我使用flex on cygwin包for Windows构建词法分析器。 我用规则创建了test.lex文件 在命令行中使用此命令时 flex -i test.lex cc lex.yy.c -lfl ./a 它很好用。但当我试图用这个命令生成sh文件(compile_flex.sh)并运行该文件时 ./compile_flex.sh 我收到一个错误 flex: can't open test.lex 我试图将不同的路径放入我的文件 ~/test.lex /home/user/test.

我使用flex on cygwin包for Windows构建词法分析器。 我用规则创建了test.lex文件
在命令行中使用此命令时

flex -i test.lex
cc lex.yy.c -lfl
./a
它很好用。但当我试图用这个命令生成sh文件(compile_flex.sh)并运行该文件时

./compile_flex.sh
我收到一个错误

flex: can't open test.lex
我试图将不同的路径放入我的文件

~/test.lex
/home/user/test.lex
c:\\cygwin64\\home\\user\\test.lex
但它不起作用!我总是收到未找到文件的消息。 当我下达命令时

vi test.lex

在我的.sh文件中,它运行良好,文件在vim中打开,我解决了我的问题。我使用windows编辑器(notepad++)创建.sh文件。当我在首选项中将行分隔符从\n\r更改为\n时,它工作正常