вторник, 27 июля 2010 г.

Как ограничить выполнение скрипта по времени

Если существует вероятность что скрипт зациклиться или повиснет на каком то этапе можно научить его самоубийству.

например так

#!/bin/bash
sleep 10 && kill $$

echo endless loop
while :; do echo -n ""; sleep 1 ; done



или с прогрессбаром

#!/bin/bash
for i in `seq 1 15`; do echo -n .; sleep 1; done && kill $$ &

echo endless loop
while :; do echo -n ""; sleep 1 ; done

понедельник, 26 июля 2010 г.

bash - передача аргументов в функцию по ссылке

Как передать в функцию аргумент по ссылке ?
вот как

void@void-desktop:~$ TEST=val; func () { eval echo $`echo $1`; }; func TEST
val

суббота, 3 июля 2010 г.

Время в gnuplot

Часто забываю как это делать ....













Есть лог вида




10:14:02 196585352
10:14:03 196585260
10:14:04 196585260
10:14:05 196585260
10:14:06 196585260
10:14:07 196585256
10:14:08 196585268
10:14:09 196585452
10:14:10 196586712
10:14:11 196586704
10:14:12 196586712
10:14:13 196586680
10:14:14 196586672
10:14:15 196586688
10:14:16 196586688
10:14:17 196586688
10:14:18 196586692
10:14:19 196586692
10:14:20 196586692
10:14:21 196586688
10:14:22 196586688
10:14:23 196586684

нужен gnuplot

Сессия выглядит так
gnuplot> set xdata time
gnuplot> set timefmt "%H:%M:%S"
gnuplot> set format y "%.f"
gnuplot> set grid
gnuplot> plot "data.f" using 1:2 with lines


gnuplot>set xdata time
рисовать время по оси х

gnuplot> set timefmt "%H:%M:%S"
формат времени во входных данных

gnuplot> set format y "%.f"
не использовать научный формат в метках по оси у

gnuplot> set grid
рисовать сетку

gnuplot> plot "data.f" using 1:2 with lines
рисовать зависимость первой колонки от второй

Для задания диапазона по времени можно использовать
gnuplot> set xrange ["dateStart":"dateEnd"]