Funktionsblock FS_SHELL

Funktionsblocket FS_SHELL utför ett eller flera fjärrkommandon i en interaktiv skalsession.

Varning: Systemkommandon kan hotande eller skada det fjärriga systemet. Dessutom kan befintliga filer utan varning skrivas över.

Filsystemet måste ha initierats tidigare med hjälp av FS_INIT. Alla operationer utförs asynkront per uppsatt lagringsmedium.

Ingång RUN

Vid en positiv flank utförs det angivna kommandot.

Ingång DEV

Definierar enheten från vilken filer ska åtkommas. Enheten används per projekt och kan hanteras i kontextmenyn under Projekt Extern lagring.

Ingång PATH

Anger sökvägen till katalogen på lagringsmediet. Sökvägen motsvarar en Unix-filsökväg i UTF-8-format, om detta stöds. Sökvägen visas som följer:

Mapp/Undermapp

Användning av sökväg är valfritt. Om den har satts måste bytet till denna katalog lyckas, annars kommer det att utförande kommando inte att utföras.

Ingång CMD

Definierar alla kommandon som ska utföras. Alla kommandon måste avslutas med ett radslut. Till exempel: "ls\n". Om inget radslut används, kommer sannolikt inte kommandot att utföras. Kommandona utförs radvis efter återkoppling från servern.

Efter utförandet av alla kommandon bör ett "exit\n" skickas för att omedelbart avsluta anslutningen och returnera värdena. Därefter bör inget ytterligare kommando skickas, annars kommer utgången ERROR att sättas till TRUE.

Anmärkning: Om anslutningen oväntat avslutas och ett kommando inte skickats, kommer utgången ERROR att sättas till TRUE.

Ingång PTY

Definierar typen av konsol (Pseudo-Terminal). För vissa enheter är denna parameter obligatorisk. Exempel: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" etc. Om inget värde definieras, används "vanilla".

Värdet "exec" utför förfrågan via SSH-kommando från operativsystemet. Därmed används modernare metoder. Denna metod är dock något mindre effektiv. Ingången ENV sätts innan anslutningen, varför den möjligen ignoreras. Ingången SIZE ignoreras vid denna metod.

Om ytterligare SSH-parametrar måste överföras kan dessa läggas till i en ny rad efter "exec". Parametrarna är skiftlägeskänsliga och anges som i följande exempel. Detta exempel aktiverar RSA-algoritmen för äldre enheter.

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

Följande parametrar finns tillgängliga:

SSH-parametrar för exec Exempelvärde
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
ConnectTimeout 10
ServerAliveInterval 30
ServerAliveCountMax 3

Anmärkning: För ytterligare detaljer, se extern dokumentation: https://linux.die.net/man/5/ssh_config (Engelska)

Ingång ENV

Definierar aktiva miljövariabler. För att ange flera variabler kan en definieras per rad. Exempel:

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

Ingång SIZE

Definierar storleken på terminalen. Standardmässigt anges denna i tecken, men kan också definieras i pixlar. Till exempel: "80x25" eller "640x480px". Om inget värde definieras, används "80x25".

Ingång RECV_PT

Definierar en tidsgräns för att ta emot data per kommando i formatet T#. Om ingen tidsgräns definieras, används T#150ms. Om detta värde inte är tillräckligt högt, kommer sannolikt flera kommandon att utföras under datautskrift.

Ingång TIMEOUT

Ställer in en tidsgräns i formatet T# för utförandet av alla kommandon. När detta har nåtts avslutas anslutningen och värdet returneras. Då sätts ERROR till TRUE. Tidsgränsen utvärderas efter anslutning och autentisering. Om ingången PTY har satts till "exec", utvärderas exekveringstiden för hela perioden. Om ingen tidsgräns definieras, används T#300s.

Utgång DONE

Utgången returnerar en impuls vid lyckad utförande för att genomföra nästa operation. Impulsen sker när processen avslutas, även om ett fel har inträffat.

Utgång RETURN

Returnerar kommandots återkoppling vid lyckad utförande. Värdet sparas för senare användning.

Anmärkning: Observera att konsolen formaterar utskriften. Därmed kan även styrtecken eller binära data innehållas.

Utgång RETERR

Returnerar kommandots återkoppling vid misslyckad utförande. Vid SSH också kallat STDERR. Värdet sparas för senare användning.

Anmärkning: Observera att konsolen formaterar utskriften. Därmed kan även styrtecken eller binära data innehållas.

Utgång ERROR

Returnerar i felfall en text med ett felmeddelande. Denna är FALSE, om inget fel har inträffat. Tillståndet sparas för senare användning.

Möjliga orsaker:

  • Tjänsten för lagringsmediet har inte startats.
  • Lagringen har inte initierats.
  • Inloggningsuppgifterna är ogiltiga.
  • Den fjärriga servern kunde inte nås.
  • Lagringsmediet existerar inte.
  • Den angivna sökvägen är ogiltig.
  • Det går inte att skriva till lagringsmediet.
  • Ingen lagringsplats finns kvar på lagringen eller lagringen är skrivskyddad.
  • Anslutningen avslutades oväntat innan alla kommandon kunde skickas.
  • Det definierade tidsgränsen har nåtts.

Se även