Я растоптал о том, как выполнить эту задачу. Мне нужно запустить этот скрипт, который заполняет флэш-память nand на встроенном (linux-Busybox v1) устройстве случайными данными, а затем постоянно повторяет этот процесс, пока пользователь не остановит его или не выйдет из строя флешка. Проблема, с которой я столкнулся, заключается в том, что мое тестирование включает в себя выключение питания устройства несколько раз. Но скрипт перестает работать, поэтому мне нужно запустить его вручную. Может кто-нибудь порекомендовать решение? Спасибо!
Автор сценария:
#!/bin/sh
mkdir -p /mytest/storage/testnand
idx=0
while true
do
#./script.sh >/mytest/storage/testnand/test.raw
dd if=/dev/urandom of=/mytest/storage/testnand/test.raw bs=100000 count=50 2> /dev/null
if [ ! $? = 0 ]
then
echo "ERROR: ${idx}"
echo "ERROR: ${idx}" >> /mytest/storage/testnand/error.log
continue
fi
cp /mytest/storage/testnand/test.raw /mytest/storage/testnand/test_copied.raw
if [ ! $? = 0 ]
then
echo "ERROR 1: ${idx}"
echo "ERROR 1: ${idx}" >> /mytest/storage/testnand/error.log
continue
fi
cmp /mytest/storage/testnand/test.raw /mytest/storage/testnand/test_copied.raw 2> /dev/null
if [ ! $? = 0 ]
then
echo "ERROR 2: ${idx}"
echo "ERROR 2: ${idx}" >> /mytest/storage/testnand/error.log
continue
fi
echo "OK ${idx}"
echo "OK ${idx}" >> /mytest/storage/testnand/ok.log
idx=`expr $idx + 1`
done
Обновить:
Я не смог упомянуть, поскольку у меня не было этой информации в то время, встроенная ОС исправлена: есть много файлов, которые доступны только для чтения; /etc /rc является одним из таких файлов. Есть ли какой-нибудь обходной путь, который позволит мне запустить мой скрипт при запуске?