我在Windows记事本中创建了以下文件:
#!/bin/bash
for i in $(ls) do $i done
请注意,该文件有三行(最后一行为空)。
当我运行脚本时,收到错误消息:
$ ./script
./script: line 3: syntax error: unexpected end of file
删除最后一行(即在"完成"之后立即结束文件)不会改变任何内容。
我怀疑这与Unix和Windows之间的CR + LF v.LF差异有关,但我认为Cygwin有望解决这个问题。因为它在Windows平台上运行,所以它能够处理在同一平台上创建的文本文件是有意义的。
那为什么我会看到这个错误?