Cygwin&;Bash:stdout重定向结果为'';在文件的末尾?

Cygwin&;Bash:stdout重定向结果为'';在文件的末尾?,bash,cygwin,stdout,Bash,Cygwin,Stdout,如果我在Cygwin中重定向linux命令的输出,例如 ls -l > lsl.txt 按预期创建文件lsl.txt 但是,如果我在bash脚本中执行同样的操作,并在Cygwin中调用它,那么创建的是: lsl.txt . 大多数编辑器都无法打开此文件,我假设对其进行操作或以编程方式对其进行解析会很麻烦 是什么原因导致此“.”附加到文件中,以及如何避免此情况?这可能是由于bash脚本中的Windows行结尾(CR-LF)造成的。确保您使用的是Unix换行符(LF)。能否在文件名末尾显示

如果我在Cygwin中重定向linux命令的输出,例如

ls -l > lsl.txt
按预期创建文件lsl.txt

但是,如果我在bash脚本中执行同样的操作,并在Cygwin中调用它,那么创建的是:

lsl.txt .
大多数编辑器都无法打开此文件,我假设对其进行操作或以编程方式对其进行解析会很麻烦


是什么原因导致此“.”附加到文件中,以及如何避免此情况?

这可能是由于bash脚本中的Windows行结尾(CR-LF)造成的。确保您使用的是Unix换行符(LF)。

能否在文件名末尾显示bash脚本?如何确保我的换行符是LF?以下是支持Unix换行符的文本编辑器列表:谢谢Stefan。我发现了dos2unix,它完成了这个任务。从长远来看,我可能会切换编辑器(目前使用的是Sublime Text 2)。