|
|
ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.
Въпрос |
От: script |
Дата: 07/17/2006 |
Здравейте ,
Искам малко помощ за скрипт .
Аз съм с лаптоп и slackware 10.2
Искам да направя скрипт който да пуска и спира вентилаторите
взавсимост от температурата на харда и процесора.
Температурата на процесора е вадя с
vankata@vankata:~$ i8kctl | awk '{print $4}'
на харда с
hddtemp /dev/hda | awk '{print $3}'
Вентилаторите конролирам с i8kfan 2 2 за мах оборори и
i8kfan 0 0 спиране
Може ли да ми помогнете
Интересувам ме как да направя скрипта да се лупва и как да
"ако това число е по голямо от 50 изпълни i8kfan 2 2"
Скрипта трябва да е на bash :)
Благодаря
|
Отговор #1 |
От: Деан (dean __точка__ iliev (a) abv __точка__ bg) |
Дата: 07/17/2006 |
while sleep Y; do
if [ "$x" -lt 50 ]; then echo "x < 50"
fi
if [ "$x" -gt 50 ]; then echo "x > 50"
fi
if [ "$x" -gt 50 ]; then echo "x = 50"
fi
done
Y = Времето през което ще се изпълнява скрипта в секунди.
Успех
|
Отговор #2 |
От: Dean |
Дата: 07/17/2006 |
Поправка:
while sleep Y; do
if [ "$x" -lt 50 ]; then echo "x < 50"
fi
if [ "$x" -gt 50 ]; then echo "x > 50"
fi
if [ "$x" -eq 50 ]; then echo "x = 50"
fi
done
Y = Времето през което ще се изпълнява скрипта в секунди.
Успех
|
Отговор #3 |
От: BaHkoTo |
Дата: 07/19/2006 |
Благодаря ти много :)
Сага имам друг проблем .
Как да направя х да е равен на число зададено от дадена
команда ?
Например
i8kctl | awk '{print $4}'
56
Пробвах с x="i8kctl | awk '{print $4}'"
но нестава.
А като го напиша в конзолата
x="i8kctl | awk '{print $4}'"
$x
56
но в скрипта на действа.
|
Отговор #4 |
От: Dean |
Дата: 07/21/2006 |
x=`i8kctl | awk '{print $4}'`
Не съм голям специалист и не съм го пробвал :)
|
Отговор #5 |
От: BaHkoTo |
Дата: 07/21/2006 |
АААА не се прави . СПЕЦ си :))
Брагодаря ви много и на двамата .
С x=`i8kctl | awk '{print $4}'` стана
|
Отговор #6 |
От: Dean |
Дата: 07/21/2006 |
To само аз ти писах, ама много ме мори смяната на
кирилица/латиница :)
|
Отговор #7 |
От: BaHkoTo |
Дата: 07/21/2006 |
:)
Ето го крайния резултат
sleep=120
while sleep $sleep; do
cpu=`i8kctl | awk '{print $4}'`
hdd=`hddtemp -n /dev/hda`
# CPU fan control
if [ "$cpu" -lt 45 ]; then c=0 # cpu < 45
fi
if [ "$cpu" -gt 46 ] ; then c=1 # cpu > 46
fi
if [ "$cpu" -gt 55 ]; then c=2 # cpu > 55
fi
# HDD fan control
if [ "$hdd" -lt 50 ]; then h=0 # hdd < 50
fi
if [ "$hdd" -gt 50 ]; then h=2 # hdd > 50
fi
/usr/bin/i8kfan $h $c > /dev/null
done
|
Отговор #8 |
От: Dean |
Дата: 07/21/2006 |
Ясно, а работи ли?
|
Отговор #9 |
От: BaHKoTo |
Дата: 07/21/2006 |
raboti idealno :)
|
<< how to make a router (2
) | Ограничаване на торенти (8
) >>
|
|
|
|
|