Как использовать значение переменной в качестве имени файла в curl - PullRequest
0 голосов
/ 19 сентября 2019

Я перебираю URL-адреса в файле, чтобы загрузить их данные, и каждый URL-адрес представляет данные для каждого часа дня.Я хочу назвать файл датой и часом, когда он пришел.Следующее не работает, но я не совсем уверен, почему

myDate=$(date -v -1d '+%Y/%m/%d')
for hour in {0..23}
do
   ...
   ...
   #set file name
   name=$myDate.$hour.txt
   curl -L -o $name "https://..."
done

Я думаю, что это просто проблема с синтаксисом для $ name в выражении curl, но я не знаю, как исправитьэто.

Я получаю следующую ошибку

Warning: Failed to create the file 2019/09/18-0: No such file or directory
curl: (23) Failed writing body (0 != 16360)

1 Ответ

5 голосов
/ 19 сентября 2019

date -v -1d '+%Y/%m/%d' возвращает строку, содержащую косую черту, которая используется в качестве разделителя пути, например, в:

iMac-ForceBru:~ forcebru$ date -v -1d '+%Y/%m/%d'
2019/09/18

2019/09/18 будет рассматриваться как файл с именем 18 вкаталог 09, который в свою очередь находится внутри каталога 2019.Похоже, что путь 2019/09 не существует в вашей системе, поэтому файл 2019/09/something.txt не может быть создан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...