Misrepush – это вредоносное ПО, которое обычно устанавливается вместе с бесплатным программным обеспечением, загруженным из ненадежных источников. Желательно максимально официальный репозиторий вашего дистрибутива. Если вы правильно разбили диск, вы можете переустановить систему без резервного копирования файлов (только переустановка с правами root )В противном случае полная переустановка системы кажется наиболее безопасным решением.
См. ответ Frostschutz , почему ваш код не работает. Я собираюсь дать разные решения.
Если ваша среда BusyBox включает awk, проще сгенерировать случайное число, достаточное для этого приложения
awk -v n=32 'BEGIN {srand(); print int(rand() * n); exit}'
srand()
основан исключительно на текущем времени, округленном до ближайшей секунды, поэтому во многих случаях это неуместно (что-либо, связанное с безопасностью, -что-либо, где может происходить более одного случайного розыгрыша в секунду ). Но здесь достаточно хорошо.
Вместо того, чтобы присваивать номер каждому изображению и жестко -кодировать диапазон номеров, перечислите файлы и выберите один из них наугад. Точнее:
set -- /mnt/us/timelit/images/pic*.png
i=$(awk -v n=$# 'BEGIN {srand(); print int(rand() * n ) + 1; exit}')
eval "SelectedImage=\${$i}"
eips -c
eips -g $SelectedImage
Вы даже можете позволить awk выбрать файл изображения напрямую, хотя если файлов много, вы можете столкнуться с ограничением длины командной строки.
SelectedImage=$(awk '
BEGIN {srand(); print ARGV[int(rand() * (length(ARGV)-1) + 1)]; exit}
' /mnt/us/timelit/images/pic*.png)
(Обратите внимание, что если бы у вас была более полная среда с утилитами bash и GNU, некоторые вещи можно было бы сделать проще. Мой ответ относится к функциям, доступным в каждой оболочке POSIX и во многих установках BusyBox.)