Fórum Ubuntu CZ/SK
Ostatní => Archiv => Téma založeno: dumi 12 Prosince 2007, 10:31:01
-
dobrý deň,
tak sa trošku hrám so skriptami a narazil som na zopár problémov.
1. chcel by som, aby skript vykonal nejaký úkon a výsledok zapísal do logovacieho súboru. a to je práve problém. neviem, akým príkazom ho mám donútiť, aby to, čo vypíše do terminálu zapísal aj do logovacieho súboru. skrátka niečo takéto:ls ~ && sleep 5 && echo "obsah terminálu" >> ~/zaznam.log
2. môžem nejako určiť, ako dlho sa má nejaký úkon vykonávať a potom skončiť? napríklad pingovať stránku 10 sekúnd a potom sa vypnúť.
3. ako zistiť, či sa príkaz podaril alebo nie? napríkladif ping www.google.com && vykonávaj to 10 sekúnd; then
echo "vykonané" (ak je pingnutie úspešné);
else
echo "nevykonané" (ak sa nepodarilo pingnúť);
fi;
ďakujem. viem, že sa šprtám vo veciach, ktorým nerozumiem, tak ma pokojne pošlite do kelu alebo odkážte na 500 stranové manuály. ale ak by ste boli ochotní pomôcť mi viac (pokojne aj odkazom na relevantné web stránky), budem nesmierne povďačný. dumi
-
doporucil bych ti precist si serial o Bashi na strankach casopisu Linuxexpress. Najdes tam nejen odpovedi na sve otazky, ale o mnoho vic.. Rozhodne to pro tebe bude lepsi, kdyz si to prectes takhle ucelene, nez kdyz ti jen lide budou neuplne odpovidat.
http://www.linuxexpres.cz/praxe/bash-1-dil-1
-
doporucil bych ti precist si serial o Bashi na strankach casopisu Linuxexpress. Najdes tam nejen odpovedi na sve otazky, ale o mnoho vic.. Rozhodne to pro tebe bude lepsi, kdyz si to prectes takhle ucelene, nez kdyz ti jen lide budou neuplne odpovidat.
http://www.linuxexpres.cz/praxe/bash-1-dil-1
Oh ďakujem, úprimne dúfal som práve v niečo takéto komplexné. idem sa do toho pustiť. nabudúce budem viac hľadať a menej sa pýtať..
-
o bashi mas takisto aj tu:
http://blackhole.sk/topiccoding-bash-1
http://blackhole.sk/topiccoding-bash-2
http://blackhole.sk/topiccoding-bash-3
http://blackhole.sk/topiccoding-bash-4
-
tak teda si zodpoviem na svoje otázky, možno niekomu pomôže:
1. výpis do súboru: echo "$(prikaz)" >> /cesta/k/loguv mojom prípade napríkladecho "Výstup: $(ping -c1 www.seznam.cz)" >> /home/dumi/Desktop/uspech.log
2. stačilo pozrieť do man ping a nájsť parameter -c
- btw. nejako všeobecne sa to nedá určiť? lebo ping je výnimočný prípad, ale bežná aplikácia asi nemá parameter, aby sa po troch minútach vypla... mno, možno ma ešte niečo napadne.
3. ten môj kód je de facto funkčný, takže som dobre indukoval:if ping -c10 www.google.com ; then
echo "vykonané";
else
echo "nevykonané";
fi;
-
echo "$(prikaz)" >> /cesta/k/logu
Tohle je fakt podivny, staci
prikaz >> /cesta/k/logujeste si to prostuduj :-)