Blok funkcija FS_SHELL

Blok funkcija FS_SHELL izvršava jedno ili više udaljenih komandi u interaktivnoj ljusci.

Pažnja: Sustavske komande mogu ugroziti ili oštetiti udaljeni sustav. Osim toga, postojeće datoteke mogu biti prebrisane bez upozorenja.

Datotečni sustav mora biti ranije inicijaliziran pomoću FS_INIT. Sve operacije se izvode asinkrono po svakom napravljenom mediju za pohranu.

Ulaz RUN

Pri pozitivnoj ivici izvršava se navedena komanda.

Ulaz DEV

Definira uređaj s kojeg se pristupa datotekama. Uređaj se koristi po projektu i može se upravljati u kontekstnom meniju pod Projekt Vanjski memorijski uređaj.

Ulaz PATH

Navodi put do direktorija na mediju za pohranu. Put odgovara Unix-putu datoteka u UTF-8 formatu, ako je to podržano. Put se prikazuje ovako:

Folder/Subfolder

Koristenje puta je opcionalno. Ako je postavljen, morate uspješno promijeniti direktorij na taj put, inače se naredba neće izvršiti.

Ulaz CMD

Definira sve naredbe koje treba izvršiti. Sve naredbe moraju biti završene znakom kraja reda. Na primjer: "ls\n". Ako se ne koristi znak kraja reda, vjerojatno će se naredba neće izvršiti. Naredbe se izvode redom nakon povratka sa servera.

Nakon izvođenja svih naredbi, na kraju treba poslati "exit\n" kako bi se veza odmah prekinula i vratile vrijednosti. Nakon toga ne smije se poslati nikakva druga naredba, inače će izlaz ERROR biti postavljen na TRUE.

Napomena: Ako se veza neočekivano prekine i nije poslana naredba, izlaz ERROR će biti postavljen na TRUE.

Ulaz PTY

Definira tip konzole (Pseudo-Terminal). Za neke uređaje ovaj parametar je obavezan. Primjeri: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" itd. Ako nije definiran vrijednost, koristi se "vanilla".

Vrijednost "exec" izvršava upit putem SSH naredbe operativnog sustava. Time se koriste modernije metode. Međutim, ova metoda je nešto manje efikasna. Ulaz ENV se postavlja prije veze, pa stoga može biti ignoriran. Ulaz SIZE se kod ove metode ignoriše.

Ako moraju biti preneseni dodatni SSH parametri, oni mogu biti dodani u novom retku nakon "exec". Parametri su case-senzitivni i navedeni kao u sljedećem primjeru. Ovaj primjer omogućuje RSA algoritam za stare uređaje.

exec
HostKeyAlgorithms=+ssh-rsa
PubkeyAcceptedAlgorithms=+ssh-rsa

Sljedeći parametri su dostupni:

SSH parametri za exec Primjer vrijednosti
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
ConnectTimeout 10
ServerAliveInterval 30
ServerAliveCountMax 3

Napomena: Za više detalja pogledajte vanjsku dokumentaciju: https://linux.die.net/man/5/ssh_config (Engleski)

Ulaz ENV

Definira aktivne varijable okoline. Da biste naveli više varijabli, možete definirati jednu po retku. Primjer:

LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8

Ulaz SIZE

Definira veličinu terminala. Standardno se navodi u znakovima, ali može biti definirano i u pikselima. Na primjer: "80x25" ili "640x480px". Ako nije definiran vrijednost, koristi se "80x25".

Ulaz RECV_PT

Definira timeout za primanje podataka po naredbi u formatu T#. Ako nije definiran timeout, koristi se T#150ms. Ako je ova vrijednost previsoka, vjerojatno će se više naredbi izvršiti tijekom izlaza podataka.

Ulaz TIMEOUT

Postavlja timeout u formatu T# za izvođenje svih naredbi. Nakon što je ovaj postignut, veza se prekida i vraća vrijednost. Tada se ERROR postavi na TRUE. Timeout se procjenjuje nakon uspostavljanja veze i autentifikacije. Ako je ulaz PTY postavljen na "exec", vrijeme izvođenja se procjenjuje za cijeli period. Ako nije definiran timeout, koristi se T#300s.

Izlaz DONE

Izlaz vraća impuls pri uspješnom izvođenju kako bi se pokrenula sljedeća operacija. Impuls se događa na kraju procesa, čak i ako je došlo do greške.

Izlaz RETURN

Vraća povratnu vrijednost naredbe pri uspješnom izvođenju. Vrijednost se pohranjuje za kasnije korištenje.

Napomena: Obazrite se da konzola formatira izlaz. Time mogu biti uključeni i kontrolni znakovi ili binarni podaci.

Izlaz RETERR

Vraća povratnu vrijednost naredbe pri neuspješnom izvođenju. Kod SSH-a također se naziva STDERR. Vrijednost se pohranjuje za kasnije korištenje.

Napomena: Obazrite se da konzola formatira izlaz. Time mogu biti uključeni i kontrolni znakovi ili binarni podaci.

Izlaz ERROR

U slučaju greške vraća tekst s porukom o grešci. Ovo je FALSE, ako nije došlo do greške. Stanje se pohranjuje za kasnije korištenje.

Mogući uzroci:

  • Usluga medija za pohranu nije pokrenuta.
  • Memorija nije inicijalizirana.
  • Podaci za prijavu nisu važeći.
  • Udaljeni server nije dostupan.
  • Medij za pohranu ne postoji.
  • Navedeni put je nevažeći.
  • Na medij za pohranu se ne može zapisivati.
  • Nema više prostora na memoriji ili memorija je zaštićena od pisanja.
  • Veza je neočekivano prekinuta prije nego što su sve naredbe poslane.
  • Definiran je timeout.

Vidi Također