У меня есть простой сценарий оболочки, который читает журнал загруженных мной файлов, и я хочу вывести размер файла и количество строк (за вычетом единицы для заголовка CSV). Я зацикливаю правильно, но когда я пытаюсь использовать find, w c или stat, чтобы получить размер файла, появляется ошибка «Нет такого файла или каталога». Когда я пробую ту же команду в терминале, она возвращает ожидаемый размер.
fileSizeBytes=$(sudo wc -c "$fileName" | awk {'print $1'})
fileSizeKb=$((fileSizeBytes/1024))
lineCount=$(sudo wc -l "$fileName" | awk {'print $1'})
lineCount=$(($lineCount-1))
переменная fileName содержит полный путь к файлу, и я проверил, что все пользователи имеют доступ для чтения / записи. Независимо от того, запускаю ли я скрипт с моей учетной записью или как root, результат будет одинаковым.
wc: /plan/files/Today.csv: No such file or directory
wc: /plan/files/Today.csv: No such file or directory
wc: /plan/files/ERMS_STOCK_05052020.csv: No such file or directory
wc: /plan/files/ERMS_STOCK_05052020.csv: No such file or directory
wc: /plan/files/ERMS_RES_05052020.csv: No such file or directory
wc: /plan/files/ERMS_RES_05052020.csv: No such file or directory
Есть идеи, что может быть причиной этого? Я могу использовать аналогичный скрипт на моем Ma c (нужно изменить некоторые команды), но на моей виртуальной машине RHEL 7.7 я столкнулся с этой ошибкой.
Ура