У меня возникла довольно странная проблема при создании текстовых файлов с помощью сценариев linux shell. Ситуация такова:Несколько файлов, сгенерированных скриптом, только последний доступен для чтения
На моей дисковой станции Synology я выполняю sh-скрипт. Он обращается к локальной базе данных mySQL, используя только SQL-пользователя, доступного только для чтения. Существует несколько вызовов (одна строка за вызов), и каждый из них записывает полученный вывод в 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 Я хочу, чтобы получить доступ к этим файлам.
В принципе, это уже работает нормально, но каким-то образом только последний созданный CSV-файл напрямую читается MS Excel. В приведенном выше примере outfile4.csv будет единственным читаемым файлом. При обмене строк 3 и 4, outfile3.csv будет доступен для чтения. Для outfile4.csv будет создан новый файл с таким же именем, который не может быть открыт MS Excel. Однако Notepad ++ может его открыть.
Это будет выглядеть в проводнике Windows:
\\myNAS\path\to
outfile4.csv (working)
outfile4.csv (not working)
Как может быть два файла с одинаковым именем? И тот, который работает, а другой - нет?
И браво для самостоятельного ответа на проблему №1 для скриптов cross-windows-linux AND для хорошо отформатированного Q. Теперь переместите этот ответ, и вы принимаете свой собственный ответ через 48 часов и получаете «ценные» точки репутации ;-). – shellter
Изменен, спасибо! – Marlon