Home > lang > shell 
 en fr de es it nl pl pt pt_BR sq ca hu cs tr ar fa id vi ko ja ru zh zh_TW eo
Previous  Next  Edit  Rename  Undo  Refresh  Search  Administration  
Documentation
History
 
Warning! This page is not up to date.  See english version 
SHELL
[ Proces = ] SHELL Komanda [ WAIT ] [ FOR { { READ | INPUT } | { WRITE | OUTPUT } } ] [ AS Ime ]
SHELL Komanda TO Promenliva

Извршува команда. За управување со командата се создава интерен процесен објект.

Командата е стринг што ја содржи командата што се проследува до системската лушпа (/bin/sh).

Ако ги користите командните зборови INPUT и OUTPUT наместо READ и WRITE, процесот се извршува во виртуелен терминал. Тоа значи дека процесот ќе мисли дека се извршува во вистински терминал.

Ime е името на настанот што го користи процесниот објект. Стандардно, тоа е "Process".

Референца до создадениот процесен објект можете да добиете со доделување.

Ако ја користите втората синтакса, тогаш командата се извршува, интерпретаторот чека таа да заврши и целиот излез од командата се запишува во наведениот стринг.

Example

' Izlistaj sodrzina na direktorium

SHELL "ls -la /tmp" WAIT

' Istoto, no vo zadnina

DIM Sodrzina AS String

EXEC "ls -la /tmp" FOR READ

...

PUBLIC SUB Process_Read()

  DIM sRed AS String

  READ #LAST, sRed, -256

  Sodrzina = Sodrzina & sRed
  PRINT sRed;

END

Колку бајти можете да прочитате во ракувачот на настани Process_Read можете да дознаете со функцијата Lof.

Бидејќи аргументите се проследуваат до командната лушпа, морате да ги ставите во наводници, како и кога директно внесувате команда.

SHELL "perl -e 'print while <>;'" FOR READ WRITE

А можете да го употребите и методот Quote.Shell за да создадете стринг со наводници што нема да биде сменет од страна на лушпата.

За разлика од командата Shell од Visual Basic, која бара ID на процесот и се потпира врз програмерот за да изврши API за контрола на процесот, Gambas Shell функцијата опционо враќа процесен објект (ако се употреби како доделување на променлива декларирана како процес) што може да се искористи за директно уништување или друг вид на контрола на активираниот процес. Освен тоа, процесот може да се активира синхроно или асинхроно, за разлика од еквивалентот на Visual Basic.

See also

Управување со процеси, Process, Lof, Quote.Shell