У меня тут полтергейст какой-то происходит. В упор не вижу ошибку.
Получаю CURL'ом с почтового ящика через IMAP список UID'ов писем, которые собираюсь далее обрабатывать:
#!/bin/bash
#ставлю англ. локаль чтобы date выдал <b>Feb</b> вместо <b>Фев</b>
LANG=en_US.utf8
DATE_STRING=`date +"01-%h-%Y"`
#отрезаю из ответа IMAP первые 9 символов из строки ( * SEARCH 2 3 4 10 20 34 35 36)
MAIL_LIST_CMD=`curl -s "imap://me%40site.ru:password@mail.srv.site.ru/INBOX?SINCE%2001-feb-2020%20from%20abon.site.ru" | cut -c 9-`
MAIL_LIST_CMD при этом получается такого вида:
2 3 4 10 20 34 35 36
Далее обычный цикл:
for i in $MAIL_LIST_CMD
do
echo -e "$i \n"
done
и получаю вот такое недоразумение:
2
3
4
10
20
34
35
6
И даже(!!) если я сделаю так:
MAIL_LIST_CMD="$MAIL_LIST_CMD 37 38"
То получаю тот же бред:
2
3
4
10
20
34
35
6
37
38
Куда девается тройка?
Если в конце всего кода сделать echo $MAIL_LIST_CMD, то я получаю совершенно нормальный ряд с числом 36 в конце.
P/S:
Решил попробовать так:
echo $(($i+1-1))
Получил:
2
3
4
10
20
34
35
+1-1»)ошибка синтаксиса: недопустимый математический оператор (неверный маркер «
То есть в последнем числе из CURL'a 36 отрисовывается с каким-то левым лишним символом.
Как можно поправить?