#android #bash
#Android #bash
Вопрос:
я написал скрипт bash, который использует nice, renice и zombie priority (необязательно) для периодической проверки приложений, он проверяет, работает ли приложение, обновляет ли оно что-то еще, отключает его при следующем запуске, но есть ошибки, и, поскольку я новичок в написании сценариев bash, мне нужна помощь, этодля sony ericsson xperia x10 работает gingerbread, но, кроме названий приложений, все команды являются стандартными командами busybox
#!/system/bin/sh
#prioritizer script version 2
while true
do
phoneid='pidof com.android.phone';
if[ $phoneid ]
then
renice -17 $phoneid ;
#/system/xbin/echo "-17" > /proc/$phoneid/oom_adj;
else
nice --17 'com.android.phone' ;
fi
hid='pidof com.sonyericsson.home';
if[ $hid ]
then
renice -18 $hid ;
#/system/xbin/echo "-18" > /proc/$hid/oom_adj;
else
nice --17 'com.sonyericsson.home' ;
fi
supid='pidof com.noshufou.android.su';
if[ $supid ]
then
renice -17 $supid ;
#/system/xbin/echo "-17" > /proc/$supid/oom_adj;
else
nice --17 'com.noshufou.android.su';
fi
renice -17 'pidof com.android.mms'
renice -14 'pidof com.sonyericsson.music'
renice -17 'pidof android.process.media'
renice -16 'pidof mediaserver'
renice 5 'pidof com.google.process.gapps'
renice 5 'pidof com.Google.android.apps.uploader '
sleep 1000
done
exit 0
если вы сможете найти ошибку или показать мне хорошее руководство по написанию сценариев, я буду благодарен
Комментарии:
1. Код намного легче читать с правильным отступом. Я это исправил.
Ответ №1:
В оболочке нет такого утверждения, как . Вам нужен пробел после каждого if[
if
.
Кроме того, после:
phoneid='pidof com.android.phone'
в вашей переменной text: «pidof com.android.phone» вместо вывода этой команды. Вам нужно использовать `command param ...`
синтаксис or (желательно) $(command param ...)
.
Не забудьте проверить синтаксис оболочки с помощью:
/bin/sh -n myscript.sh
Приведенная выше команда (запуск на вашем ПК) не будет пытаться запустить скрипт, просто проверьте синтаксис.
Кроме того, у вас много ненужных точек с запятой, но это не приведет к сбою вашего скрипта.