【发布时间】:2016-11-21 12:07:17
【问题描述】:
我在通过 linux shell 脚本生成文本文件时遇到了一个相当奇怪的问题。情况是这样的:
在我的 Synology Disk Station 上,我正在执行一个 sh 脚本。它使用只读 SQL 用户访问本地 mySQL 数据库。有多个调用(每次调用一行),每个调用都将接收到的输出写入不同位置的 .csv 文件。
.sh 脚本如下所示:
/some/path/create_lists.sh
mysql --arguments < /path/to/script1.sql > /path/to/outfile1.csv
mysql --arguments < /path/to/script2.sql > /path/to/outfile2.csv
mysql --arguments < /path/to/script3.sql > /path/to/outfile3.csv
mysql --arguments < /path/to/script4.sql > /path/to/outfile4.csv
我想使用我的 Windows PC 访问这些文件。
原则上,这已经可以正常工作了,但不知何故,MS Excel 只能直接读取最后创建的 .csv 文件。在上面的示例中,outfile4.csv 将是唯一可读的文件。交换第 3 行和第 4 行时,outfile3.csv 将是可读的。对于 outfile4.csv,将创建一个名称完全相同的新文件,MS Excel 无法打开该文件。不过记事本++可以打开它。
在 Windows 资源管理器中看起来像这样:
\\myNAS\path\to
outfile4.csv (working)
outfile4.csv (not working)
怎么会有两个同名文件?一个工作而另一个不工作?
【问题讨论】:
-
并且勇敢地自我回答了跨 windows-linux 脚本的 #1 问题和格式良好的 Q。现在移动该答案,您会在 48 小时后接受自己的答案并获得“有价值”声望点;-)。
-
已更改,谢谢!
标签: linux windows bash filenames