Portál AbcLinuxu, 27. dubna 2024 07:20


Dotaz: Nefunkcni skript

21.8.2005 23:20 Jaroslav Smid
Nefunkcni skript
Přečteno: 60×
Odpovědět | Admin
Mohl by mi nekdo poradit, proc mi nefunguje nasledujici skript?
#!/bin/sh
echo -n " :: Pripojuji se na internet pres GPRS ... "
/usr/sbin/pppd file /etc/ppp/gprs-options &>~/.gprs-log &
while [ -z `cat ~/.gprs-log | grep -a "remote"` ]
do
  true
done
echo "hotovo."
Skript ceka, nez najde grep v souboru radek s remote spravne, ale pak skonci hlaskou, ze na radku 4 je neplatny pocet argumentu. Myslim, ze je spatne napsana podminka.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 21.8.2005 23:50 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Nefunkcni skript
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je tam hned několik věcí, které se dají řešit daleko lépe:
#!/bin/sh
echo -n " :: Pripojuji se na internet pres GPRS ... "
/usr/sbin/pppd file /etc/ppp/gprs-options 2>&1 \
| tee ~/.gprs-log \
| while read str && grep -a 'remote ' <<< "$str"
  do
      true
  done
echo "hotovo."
A k té chybě: zkus doplnit uvozovky kolem `` v podmince u while. Aby v okamžiku, kdy se `...` rozvine v nic tam bylo prazdno a ne nic. (podivná věta)

ps: ten script jsem nezkousel...
Hello world ! Segmentation fault (core dumped)
21.8.2005 23:55 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nefunkcni skript
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná nějaký klasický problém s expanzí parametrů obsahujících mezery, ale nechce se mi to teď zkoumat. Jednodušší by bylo využíte 'grep -q', tj. nějak takto:
  while ! grep -aq remote ~/.gprs-log
  do
    ...
  done
Jardík avatar 22.8.2005 00:11 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Nefunkcni skript
Odpovědět | | Sbalit | Link | Blokovat | Admin
Diky za odpovedi. Diky vam mam funkcni skriptiky na pripojeni k netu.
Věřím v jednoho Boha.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.