Article View: pl.comp.os.advocacy
Article #2642Re: Word strony (nie)parzyste
From: Jacek P. Szymanski
Date: Fri, 23 Jan 1998 10:16
Date: Fri, 23 Jan 1998 10:16
146 lines
5989 bytes
5989 bytes
on Thu, 22 Jan 1998 23:49:41 GMT, Marcin Wieczorek wrote:
|jps@burek.buda.pl (Jacek P. Szymański) napisał(a):
|*Ogólnie. To całe OLE to nawet niezły pomysł. Brakuje mi jednak w
|*Windach _prostych_ mechanizmów do _prostych_ czynności. Podam tu
|*bardzo prosty przykładzik: stoi sobie kilka komputerków które
|*mają cały czas chodzić i być widoczne w sieci, a że ja jestem
|*człowiek z natury leniwy, napisałem sobie skrypcik, który te
|*komputerki pinga i jak któryś padł to mnie o tym zawiadamia. Jak
|*któryś dotąd leżał i wstał to też mnie o tym informuje. Te
|*wszystkie informacje są ładowane w jeden komunikat. Cały skrypcik
|*zajmuje coś koło kilobajta a napisałem go w parę minut bo akurat
|*był potrzebny. Użyłem w nim poleceń: ping, cat, awk, grep, mail,
|*test, date. Reszta to mechanizmy i polecenia shella.
|
|No to go pokaz zobaczymy czy taki on prosciutki. :-)
Proszę bardzo, skrypt jest Quick-and-Dirty i dałoby się go
napisać dużo lepiej i jeszcze krócej :-) w tej postaci ma 831
bajtów ;-P
--------Skrypt:
#!/bin/sh
#
function TestIt ()
{
if [ -f /var/run/hosts/$1 ]; then
if [ "`ping -c 10 -i 6 -q $1 | grep packet | awk ' { print $4 } '`"
!= "0" ]; then
echo `date`: $1 zyje >> /var/run/hosts/.Yyy.mailfile
rm -f /var/run/hosts/$1
fi
else
if [ "`ping -c 10 -i 6 -q $1 | grep packet | awk ' { print $4 } '`"
= "0" ]; then
echo `date`: $1 zdechl >> /var/run/hosts/.Yyy.mailfile
touch /var/run/hosts/$1
fi
fi
}
# Start
if [ ! -r /etc/TestedHosts ]; then
echo "Nie ma pliku /etc/TestedHosts." | mail root
exit
fi
if [ -f /var/run/hosts/.Yyy.mailfile ]; then
exit 1;
fi
touch /var/run/hosts/.Yyy.mailfile
for komputerek in `cat /etc/TestedHosts`; do
TestIt $komputerek
done
if [ -s /var/run/hosts/.Yyy.mailfile ]; then
cat /var/run/hosts/.Yyy.mailfile | mail root
fi
rm -f /var/run/hosts/.Yyy.mailfile
--------Koniec.
|A po co uzyles awk skoro shell jest taki powerfull ? :-)
Bo jak zwykle zapomniałem składni cut, a mana nie chciało mi się
czytać :-)
Poza tym sam shell nie zapewnia narzędzi do obróbki tekstów ani
nic takiego. Jak widzisz oprócz tych programów, które wymieniłem
wcześniej użyłem jeszcze rm i touch.
A teraz będę złośliwy: napisz skrypt/program pod Windows który
będzie robił to samo, podobnie jak u mnie może nie być obsługi
błędów i to wszystko za pomocą dowolnych narzędzi które
przychodzą razem z _instalką_ Windows (może być NT :-) albo
potwierdź: NIE DA SIĘ a będzie wiadomo co jest lepsze :-P
|*Ciekawi mnie teraz jakbym to samo mógł zrobić gdybym (odpukać)
|*był administratorem jakiegoś NT. "Interpreter skryptów" w NieTym
|*nie pozwala mi na zastosowanie tak trywialnego mechanizmu jak:
|
|Nie moglbys bo o ile wiem to z pingiem dostarczanym z NT nie dogadasz
|sie przez OLE. Tez nad tym boleje :( Ale czy nie rozumiesz, ze OLE
To jak mam go użyć w automacie? Kompilować takie starocie jak
awk? Przecież to niepoważne :-) NT ponoć jest nowoczesnym
systemem a czegoś tak trywialnego się nie da zrobić?
(przypominam: instalka).
|wogole nie ma sensu jesli nie ma programow go obslugujacych ? Aby
|uproscic dyskusje podam klika punktow:
|
|1. OLE jest wspaniale ach i och.
Na pewno ma bardzo duże możliwości, ale IMHO do tak prostych
rzeczy jak automatyczne wysłanie pocztą wiadomości nie warto
wytaczać aż takich armat ;-) Powinny być narzędzia o mniejszych
możliwościach ale za to z dużo prostszą obsługą, niekoniecznie
musi być to akurat linia poleceń, ale powinno być to mniej więcej
tak proste jak 'mail root < Yyy'. OLE zostawmy do rzeczy nieco
bardziej skomplikowanych.
|2. Niestety nie kazdy program obsluguje OLE
ale i nie zawsze OLE jest potrzebne.
|3. Gdyby kazdy program Windowsowy obslugiwal OLE to skrypt Linuksowy
|moglby sie schowac.
Ciekawe jakbyś z OLE napisał odpowiednik mojego powyższego
skryptu... i czy miałby on mniej niż 50k
|4. Poki co w Linuksie wiecej rzeczy da sie zautomatyzowac bo wiekszosc
|programow ma interfejs linii komend.
...i między innymi dlatego wolę Linuxa. Także dlatego, że ta
automatyzacja jest o wiele prostsza.
|Wniosek:
| Trzeba pisac wiecej programow narzedziowych z interfejsem OLE.
Trzeba napisać (pod Windą, pod Linuxem już jest) programy
narzędziowe obsługujące jakiś znacznie prostszy interfejs, na
przykład linia poleceń/stdin/stdout ale niekoniecznie.
|*I tu zaczyna się dopiero problem... bo w Win muszę mieć OLE i
|*mailera który to obsługuje i jeszcze muszę napisać program w
|*jakimś WordBasicu który to zrobi... a pod Linuxem to takie
|*proste...
|
|Niekoniecznie w WordBasicu. W czymkolwiek obslugujacym OLE. Mozesz
|nawet w perlu.
Będę złośliwy: to napisz jak a zobaczymy co jest prostsze i
lepsze...
|Marcin Wieczorek ( T-1000 )
--
Jacek P. Szymański | Bad dreams in the night
Network Administrator at | They told me
BoTar Internet | I was going to lose the fight
jps@bti.pl | Leave behind my wuthering, wuthering
#include <disclaimer.h> | Wuthering Heights.
Technical Details
Message-ID:
<slrn6cgs0u.oo6.jps@home.bti.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!jpsReferences:
<Pine.LNX.3.96.980119224520.5516B-100000@qrnik.knm.org.pl> <34cd9d53.10215919@news.nask.org.pl> <oqn2grmgkj.fsf@lipa.mimuw.edu.pl> <34c8fec2.100694911@news.nask.org.pl> <Mi$IE6ccu3f.nmp.jps@burek.buda.pl> <34cbd3c0.32158030@news.nask.org.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!jps From: jps@burek.buda.pl (Jacek P. Szymanski) Newsgroups: pl.comp.os.advocacy Subject: Re: Word strony (nie)parzyste Date: 23 Jan 1998 10:16:41 GMT Organization: BoTar Internet Lines: 146 Message-ID: <slrn6cgs0u.oo6.jps@home.bti.pl> References: <Pine.LNX.3.96.980119224520.5516B-100000@qrnik.knm.org.pl> <34cd9d53.10215919@news.nask.org.pl> <oqn2grmgkj.fsf@lipa.mimuw.edu.pl> <34c8fec2.100694911@news.nask.org.pl> <Mi$IE6ccu3f.nmp.jps@burek.buda.pl> <34cbd3c0.32158030@news.nask.org.pl> NNTP-Posting-Host: home.bti.pl Mime-Version: 1.0 X-Newsreader: slrn (0.9.4.3 UNIX) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit