lynx
использует текущие локали для определения кодировки, которую он может использовать для отображения страниц. Однако эта информация, вероятно, недоступна в cron
, поэтому вам нужно сделать что-то вроде этого:
lynx -display_charset=UTF-8 -dump http://example.com/some/page.html
(конечно, используйте кодировку вашей системы, если она отличается от UTF -8 ).
@Jesse _Ответ b - способ сделать это.
Однако, если вы не имеете никакого влияния на ввод, вы можете использовать IFS=,
и read
, чтобы разделить строку и сделать ее массивом.
printf '%s' "$PROMOTEBUILDS" | IFS=, read -a promotebuilds
for i in "${promotebuilds[@]}"; do
egrep "$i" /home/rahul-optit/packages
done
Может я не понял вопроса. Во-первых, ваша переменная имеет только одну строку.
Все это время я читал строки из переменной так же, как и из обычного файла, за исключением того, что я заключаю их в кавычки и использую '<<<' вместо '<', чтобы передать их в цикл while.
VARIABLE=$(cat somefilewithmultiplelines)
while read i ; do echo "$i" ; done <<< "$VARIABLE"