Funksjonsblokk FS_SHELL

Funksjonsblokken FS_SHELL utfører ett eller flere fjernkommander i en interaktiv shell.

Advarsel: Systemkommander kan true systemet eller skade det. Dessuten kan eksisterende filer bli overskrevet uten en advarsel.

Filssystemet må først initialiseres ved hjelp av FS_INIT. Alle operasjoner utføres asynkront per opprettet lagringsmedium.

Inngang RUN

Når en positiv flanke oppstår, blir det angitte kommandoen utført.

Inngang DEV

Definerer enheten som brukes til å få tilgang til filene. Enheten brukes per prosjekt og kan administreres i kontekstmenyen under Prosjekt Ekstern lagring.

Inngang PATH

Angir stien til katalogen på lagringsmediet. Stien tilsvarer en Unix-filsti i UTF-8-format, hvis dette støttes. Stien representeres som følger:

Mappe/Undermappe

Bruken av en sti er valgfri. Hvis den er satt, må bytte til denne katalogen lykkes, ellers blir kommandoen ikke utført.

Inngang CMD

Definerer alle kommandene som skal utføres. Alle kommander må avsluttes med et linjeskift. For eksempel: "ls\n". Hvis ingen linjeskift brukes, blir kommandoen sannsynligvis ikke utført. Kommandene blir utført linje for linje etter tilbakemelding fra serveren.

Etter at alle kommander er utført, bør et "exit\n" sendes for å avslutte forbindelsen umiddelbart og returnere verdiene. Deretter bør ingen flere kommandoer sendes, ellers blir utgangen ERROR satt til TRUE.

Merknad: Hvis forbindelsen avsluttes uventet og en kommando ikke ble sendt, blir utgangen ERROR satt til TRUE.

Inngang PTY

Definerer typen av konsoll (Pseudo-Terminal). For noen enheter er denne parameteren obligatorisk. Eksempler: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" osv. Hvis ingen verdi er definert, brukes "vanilla".

Verdien "exec" utfører forespørselen via SSH-kommando fra operativsystemet. Dette bruker mer moderne metoder, men er noe mindre effektivt. Inngangen ENV settes før forbindelsen etableres, derfor kan den muligens bli ignorert. Inngangen SIZE blir ignorert ved denne metoden.

Hvis ekstra SSH-parametre må overføres, kan de legges til i en ny linje etter "exec". Parameterne er store bokstaver og angis som i følgende eksempel. Dette eksemplet aktiverer RSA-algoritmen for eldre enheter.

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

Følgende parametre er tilgjengelige:

SSH-parametre for exec Eksempelverdi
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
ConnectTimeout 10
ServerAliveInterval 30
ServerAliveCountMax 3

Merknad: For flere detaljer, se ekstern dokumentasjon: https://linux.die.net/man/5/ssh_config (Engelsk)

Inngang ENV

Definerer aktive miljøvariabler. For å angi flere variabler, kan en defineres per linje. Eksempel:

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

Inngang SIZE

Definerer størrelsen på terminalen. Standardmessig angis denne i tegn, men kan også defineres i piksler. For eksempel: "80x25" eller "640x480px". Hvis ingen verdi er definert, brukes "80x25".

Inngang RECV_PT

Definerer en tidsfrist for å motta data per kommando i formatet T#. Hvis ingen tidsfrist er definert, brukes T#150ms. Hvis denne verdien ikke er høy nok, blir sannsynligvis flere kommandoer utført under datautskriften.

Inngang TIMEOUT

Setter en tidsfrist i formatet T# for å utføre alle kommander. Etter at denne er nådd, blir forbindelsen avsluttet og verdien returnert. Da blir ERROR satt til TRUE. Tidsfristen vurderes etter at forbindelsen er etablert og autentiseringen er fullført. Hvis inngangen PTY er satt til "exec", blir kjøretiden vurdert for hele perioden. Hvis ingen tidsfrist er definert, brukes T#300s.

Utgang DONE

Utgangen gir en puls ved suksess for å utføre neste operasjon. Pulsen oppstår når prosessen avsluttes, selv om det har oppstått en feil.

Utgang RETURN

Returnerer tilbakemeldingen fra kommandoen ved vellykket utførelse. Verdien lagres for senere bruk.

Merknad: Merk at konsollen formaterer utskriften. Dette kan inneholde kontrolltegn eller binære data.

Utgang RETERR

Returnerer tilbakemeldingen fra kommandoen ved feilaktig utførelse. Ved SSH også kalt STDERR. Verdien lagres for senere bruk.

Merknad: Merk at konsollen formaterer utskriften. Dette kan inneholde kontrolltegn eller binære data.

Utgang ERROR

Returnerer en tekst med en feilmelding i tilfelle av feil. Denne er FALSE, hvis ingen feil har oppstått. Tilstanden lagres for senere bruk.

Mulige årsaker:

  • Tjenesten til lagringsmediet ble ikke startet.
  • Lagringen ble ikke initialisert.
  • Logginnopplysningene er ugyldige.
  • Den fjernede serveren kunne ikke nås.
  • Lagringsmediet eksisterer ikke.
  • Den angitte stien er ugyldig.
  • Det kan ikke skrives til lagringsmediet.
  • Ingen lagringsplass på lagringen eller lagringen er skrivebeskyttet.
  • Forbindelsen ble avsluttet uventet før alle kommandoer kunne sendes.
  • Den definerte tidsfristen ble nådd.

Se Også