Portál AbcLinuxu, 12. května 2025 01:46

Dotaz: Shellovy script na ping

23.11.2012 11:53 L_user
Shellovy script na ping
Přečteno: 511×
Odpovědět | Admin
Zdravim,

potreboval bych vytvorit, vymyslet, poradit

--- Predstava ---

* - promenny pocet pingu a predem definovane site

* - promenna IP adresa v preddefinovane siti

menu

--- vyber site ---

0) exit

1) sit xxx.xxx.xxx.xxx

2) sit xxx.xxx.yyy.xxx

3) sit xxx.yyy.xxx.xxx

sub menu

--- zadej koncove trojcisli IP adresy z vyse vybrane site ---

n

--- zadej pocet pingu ---

n

result

Kdysy sem neco takoveho delal jako bat, ale uz vubec nevim jak a jako shellovy script to bude zase jine.

Predem mnohokrate diky za jakekoli navrhy, namety, pripominky,

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.11.2012 12:10 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Shellovy script na ping
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na přečtení konkrétního čísla by mohl stačit read, jednoduché menu umí bash pomocí select. Stačí jako nápověda?
I am always ready to learn although I do not always like to be taught. (W. Churchill)
23.11.2012 13:23 marek
Rozbalit Rozbalit vše Re: Shellovy script na ping
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobry den.

treba:

#!/bin/bash
SIT=$(dialog --stdout --menu sit 20 50 20 127.0.0. "bubu" 10.0.0. "blabla" 172.16.0. "bleble"  )
[ "$?" -eq 0 ] || exit
TROJCISLI=$(dialog --stdout --inputbox "posledni trojcisli:" 20 50 "1")
[ "$?" -eq 0 ] || exit
POCET=$(dialog --stdout --inputbox "pocet" 20 50 "1")
[ "$?" -eq 0 ] || exit

ping -c $POCET $SIT$TROJCISLI
Marek
Tarmaq avatar 26.11.2012 13:52 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Shellovy script na ping
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mohlo by to byt nejak takhle, validaci trojcisli a poctu pingu jsem neresil:
#!/bin/bash

ADDRESSES=( "123.456.789."  "123.789.456."  "127.0.0.")
echo "Vyber site:"
select ADDRESS in "${ADDRESSES[@]}";
do
    break
done

echo "Zadej trojcisli IP adresy:"
read SUFFIX
echo "Zadej pocet pingu:"
read PINGS
ping -n $PINGS $ADDRESS$SUFFIX
Don't panic!
27.11.2012 07:53 L_user
Rozbalit Rozbalit vše Re: Shellovy script na ping
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravim, takhle to vypadalo jako .bat, potreboval bych z toho shellovy skript:
@ECHO OFF
color 0a

echo %DATE% %TIME%
echo ________________________________
echo.

:DOTAZ
  echo Volba 1) Rozhrani 10.242.37.xxx
  echo Volba 2) Rozhrani 133.120.1.xxx
  echo Volba 3) Ukoncit
  echo ________________________________
  echo.

  set choice=
  set /p choice=Vyberte volbu: 
    if not '%choice%'=='' set choice=%choice:~0,1%
    if '%choice%'=='1' goto IP1
    if '%choice%'=='2' goto IP2
    if '%choice%'=='3' goto UKONCIT
  ECHO Moznost "%choice%" neexistuje! Opakujte volbu.
  goto DOTAZ

:IP1
  echo.
  echo Zadejte koncove cislo IP adresy:
  echo ________________________________
  echo.

  set cislo=
  set /p cislo=Zadejte cislo: 
    if not '%cislo%'=='' set choice=%cislo:~0,1%
    if not '%cislo%'=='' goto KONTROLA1
  ECHO Moznost "%cislo%" neexistuje! Opakujte volbu.
  goto IP1

:KONTROLA1
  echo.
  PING 10.242.37.%cislo% -n 10
  goto end

:IP2
  echo.
  echo Zadejte koncove cislo IP adresy
  echo.

  set cislo=
  set /p cislo=Vyber volbu: 
    if not '%cislo%'=='' set choice=%cislo:~0,1%
    if not '%cislo%'=='' goto KONTROLA2
  ECHO Moznost "%cislo%" neexistuje! Opakujte volbu.
  goto IP2

:KONTROLA2
  echo.
  PING 133.120.1.%cislo% -n 10
  goto end


:UKONCIT
  echo.
  echo Konec davky
  goto end
:end
Tarmaq avatar 27.11.2012 15:16 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Shellovy script na ping
no fuj
Don't panic!
Tarmaq avatar 27.11.2012 15:19 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Shellovy script na ping
nestaci reseni popsane o trochu vyse? Funkcionalita je IMHO stejna, bez zbytecnych goto atp.
Don't panic!
28.11.2012 07:09 L_user
Rozbalit Rozbalit vše Re: Shellovy script na ping
Bylo to psane kdysi pred lety, "no fuj" neni na miste.
28.11.2012 08:09 l4m4
Rozbalit Rozbalit vše Re: Shellovy script na ping
Snad to i v DOSu šlo řešit lépe než jako konečný automat implementovaný přes GOTO?

Ale především ti sem už 23. 11. napsal marek řešení s UI pomocí dialogu a poté Tarmaq normálně přes read. Jaký je problém s těmi řešeními?

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.