flex 无法在 sh 脚本中打开文件
flex cannot open file in sh script
我在 Windows 的 cygwin 包上使用 flex 来构建词法分析器。
我用规则
创建了文件 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 时,它工作正常
我在 Windows 的 cygwin 包上使用 flex 来构建词法分析器。
我用规则
创建了文件 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 时,它工作正常