Начало Вход/Регистрация Помощ Tazi stranica s latinski bukwi
Области
 Новини
 Актуална тема
 Linux портали
 Какво е Линукс?
 Въпроси-отговори
 Форуми
   •Трудова борса
   •Конкурс
 Статии
 Дистрибуции
   •Поръчка на CD
 Made In BG
 Файлове
 Връзки
 Галерия
 Конференции
Настройки
 Външен вид
 Предложения
 Направи си сам
И още ...
 За нас
 Линукс за българи ЕООД
 Линк към нас
 Предложения

Подкрепяно от:
TelePoint - Място за хора със свободни идеи

SiteGround

initLab

Adsys Group

SAP Bulgaria

Въпроси отговори
Въпрос: script
[Търси: ]

ВНИМАНИЕ: Използвайте форумите на сайта за д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 ) >>

 
© 2011-... Асоциация "Линукс за българи"
© 2007-2010 Линукс за българи ЕООД
© 1999-2006 Slavej Karadjov
Ако искате да препечатате или цитирате информация от този сайт прочетете първо това
Външния вид е направен от MOMCHE
Code Version: 1.0.8 H (Revision: 23-09-2011)
 
Изпълнението отне: 0 wallclock secs ( 0.07 usr + 0.01 sys = 0.08 CPU)