Bloc funcțional FS_SHELL

Blocul funcțional FS_SHELL execută unul sau mai multe comenzi îndepărtate într-o shell interactivă.

Atenție: Comenzile sistemului pot pune în pericol sau deteriora sistemul îndepărtat. În plus, fișierele existente pot fi suprascrise fără un avertisment.

Sistemul de fișiere trebuie inițializat anterior prin intermediul FS_INIT. Toate operațiile se efectuează asincron pentru fiecare mediu de stocare creat.

Intrarea RUN

La o flancă pozitivă, comanda specificată este executată.

Intrarea DEV

Definește dispozitivul din care se accesează fișierele. Dispozitivul este utilizat pe proiect și poate fi gestionat în meniul contextual sub Proiect Stocare externă.

Intrarea PATH

Specifică calea către directorul de pe mediu de stocare. Calea corespunde unui Unix file path în format UTF-8, dacă acesta este suportat. Calea este reprezentată astfel:

Folder/Subfolder

Utilizarea unei căi este opțională. Dacă aceasta a fost setată, schimbarea la acest director trebuie să fie reușită, altfel comanda de executat nu va fi rulată.

Intrarea CMD

Definește toate comenzile care trebuiesc executate. Toate comenzile trebuie terminate printr-un sfârșit de linie. De exemplu: "ls\n". Dacă nu se utilizează un sfârșit de linie, comanda probabil că nu va fi executată. Comenzile sunt executate pe rând după feedback-ul primit de la server.

După execuția tuturor comenzilor, trebuie trimis un "exit\n" pentru a încheia conexiunea imediat și a returna valorile. După aceea, nu ar trebui să fie trimisă nicio altă comandă, altfel ieșirea ERROR va fi setată la ADEVĂRAT.

Notă: Dacă conexiunea se încheie neașteptat și o comandă nu a fost trimisă, ieșirea ERROR va fi setată la ADEVĂRAT.

Intrarea PTY

Definește tipul consolei (Pseudo-Terminal). Pentru unele dispozitive, acest parametru este obligatoriu. Exemple: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" etc. Dacă nu este definit niciun valor, se utilizează "vanilla".

Valoarea "exec" execută cererea prin intermediul comenzii SSH a sistemului de operare. Astfel, se utilizează metode mai moderne. Cu toate acestea, această metodă este puțin mai ineficientă. Intrarea ENV este setată înainte de conexiune, deci aceasta poate fi ignorată. Intrarea SIZE este ignorată în această metodă.

Dacă trebuie să fie transmise parametri SSH suplimentari, aceștia pot fi adăugați pe rânduri noi după "exec". Parametrii sunt sensibili la majuscule și sunt specificați așa cum se arată în exemplul următor. Acest exemplu activează algoritmul RSA pentru dispozitive mai vechi.

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

Următoarele parametri sunt disponibili:

Parametri SSH pentru exec Valoare exemplu
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
ConnectTimeout 10
ServerAliveInterval 30
ServerAliveCountMax 3

Notă: Pentru detalii suplimentare, consultați documentația externă: https://linux.die.net/man/5/ssh_config (Engleză)

Intrarea ENV

Definește variabilele de mediu active. Pentru a specifica mai multe variabile, una poate fi definită pe fiecare linie. Exemplu:

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

Intrarea SIZE

Definește dimensiunea terminalului. Implicit, aceasta este specificată în caractere, dar poate fi definită și în pixeli. De exemplu: "80x25" sau "640x480px". Dacă nu este definită nici o valoare, se utilizează "80x25".

Intrarea RECV_PT

Definește un timeout pentru primirea datelor pe comandă în formatul T#. Dacă nu este definit niciun timeout, se utilizează T#150ms. Dacă această valoare nu este suficient de mare, probabil că mai multe comenzi vor fi executate în timpul afișării datelor.

Intrarea TIMEOUT

Setează un timeout în formatul T# pentru execuția tuturor comenzilor. După ce acesta este atins, conexiunea se încheie și valoarea este returnată. În acest caz, ERROR este setat la ADEVĂRAT. Timeout-ul este evaluat după stabilirea conexiunii și autentificare. Dacă intrarea PTY a fost setată pe "exec", timpul de execuție este evaluat pentru întreaga perioadă. Dacă nu este definit niciun timeout, se utilizează T#300s.

Ieșirea DONE

Ieșirea returnă un impuls la succes pentru a efectua următoarea operație. Impulsul are loc la încheierea procesului, chiar dacă a apărut o eroare.

Ieșirea RETURN

Returnează rezultatul comenzii la execuția reușită. Valoarea este stocată pentru utilizare ulterioară.

Notă: Aveți în vedere că consola formatează ieșirea. Astfel, pot conține și caractere de control sau date binare.

Ieșirea RETERR

Returnează rezultatul comenzii la execuția cu eroare. La SSH, acest lucru este numit și STDERR. Valoarea este stocată pentru utilizare ulterioară.

Notă: Aveți în vedere că consola formatează ieșirea. Astfel, pot conține și caractere de control sau date binare.

Ieșirea ERROR

Returnează un text cu o mesaj de eroare în caz de eroare. Acesta este FALS, dacă nu a apărut nicio eroare. Starea este stocată pentru utilizare ulterioară.

Posibile cauze:

  • Serviciul mediei de stocare nu a fost pornită.
  • Media de stocare nu a fost inițializată.
  • Datele de conectare sunt invalide.
  • Serverul îndepărtat nu poate fi contactat.
  • Media de stocare nu există.
  • Calea specificată este invalidă.
  • Nu se poate scrie pe media de stocare.
  • Nu mai este spațiu pe memorie sau memoria este protejată împotriva scrierii.
  • Conexiunea a fost încheiată neașteptat înainte ca toate comenzile să fie trimise.
  • Timeout-ul definit a fost atins.

Vezi Deasemenea