Stránka 1 z 1

premenne v MT 2.9.6

Napsal: 25 Oct 2005 00:54
od skrebon
Neviem cim to je, ci kde robim chybu... Snazim sa prepisat povodne scripty z MT 2.8.x do 2.9.6, ale vidim tu nejaku zradu.
V navode pisu...
If a variable is no longer needed, it's name can be freed by :unset command.

Prikaz :set standartne funguje, prikaz :unset tam vobec ako keby nebol.

Kód: Vybrat vše

:global GW
:set GW 1

a prikazom

Kód: Vybrat vše

:environment print
som si pozrel premenne, ci su spravne definovane.
Teraz nemozem najst sposob ako preniest premennu z jedneho scriptu do druheho... Globalnu premennu dokazem len definovat(nie preniest), ale to prapodivnym sposobom

Kód: Vybrat vše

:global g1 "this is global variable"

I ked predtym zadefinujem :global GW, prikazom :set GW 5 zadam hodnotu, dostanem vypis

Kód: Vybrat vše

[router@example.net] > :global GW       
[router@example.net] > :set GW 5         
[router@example.net] > :environment print
Global Variables
g1=this is global variable
Local Variables
GW=5
[router@example.net] >


Dakujem za kazdy postreh...
btw, logging v MT 2.9.6 je tiez nejaky divoky, ale to mi nevadi :D

Napsal: 25 Oct 2005 01:16
od jali
Zdravim, tenhle problem byl nastinen uz drive, Dusan se o tom nejak zminil. Ted jsem to testoval a chova se mi to takhle

Musis definovat promennou jako global i s nastavenim pocatecni hodnoty :

:global a 0

Pak uz s ni muzes pocitat, a zustane jako global.
Pokud ji definujes stejne jako v 2.8 t.j. takto :

:global a

tak je z toho lokalni promenna
Z toho plyne, ze pokud chces prenaset promenne mezi scripty, tak je musis nejdrive jednim scriptem, ktery pustis jen jednou, definovat a pak uz by meli jit v dalsich normalne pouzivat.
Dalsi moznost je na zacatku scriptu udelat test na existenci promenne a pokud neexistuje, tak ji definovat, jinak preskocit definici a hned ji pouzit.

Mrzi me, ze nemam cas, rad bych si s tim pohral, ale ted nestiham, urcite se k tomu vratim, mam v hlave docela elegantni reseni
Komu se nechce cekat, preji hodne stesti

JALI

Napsal: 25 Oct 2005 01:20
od skrebon
No ja to uz vyriesil docasne ...

start-time nastavit na startup v schedulery a do neho narvat potrebne globalne promenne ... Ale bol by som radsej, pre normalny postup :D