Bloc Fonctionnel FS_SHELL

Le bloc fonctionnel FS_SHELL exécute une ou plusieurs commandes distantes dans un shell interactif.

Attention: Les commandes système peuvent menacer ou endommager le système distant. De plus, des fichiers existants peuvent être écrasés sans avertissement.

Le système de fichiers doit avoir été initialisé au préalable à l'aide de FS_INIT. Toutes les opérations s'effectuent de manière asynchrone par support de stockage créé.

Entrée RUN

Sur un front montant, la commande spécifiée est exécutée.

Entrée DEV

Définir l'appareil à partir duquel les fichiers doivent être accessibles. L'appareil est utilisé par projet et peut être géré dans le menu contextuel sous Projet Stockage Externe.

Entrée PATH

Indique le chemin vers le répertoire sur le support de stockage. Le chemin correspond à un chemin de fichier Unix au format UTF-8, si celui-ci est pris en charge. Le chemin est représenté comme suit:

Dossier/Sous-dossier

L'utilisation d'un chemin est facultative. Si celui-ci est défini, le changement vers ce répertoire doit réussir, sinon la commande à exécuter ne sera pas exécutée.

Entrée CMD

Définir toutes les commandes à exécuter. Toutes les commandes doivent être terminées par une fin de ligne. Par exemple : "ls\n". Si aucune fin de ligne n'est utilisée, la commande ne sera probablement pas exécutée. Les commandes sont exécutées ligne par ligne après l'accusé de réception du serveur.

Après l'exécution de toutes les commandes, un "exit\n" doit être envoyé à la fin pour terminer immédiatement la connexion et retourner les valeurs. Aucun autre commande ne doit être envoyée ensuite, sinon la sortie ERROR sera définie sur TRUE.

Remarque: Si la connexion est terminée de manière inattendue et qu'une commande n'a pas été envoyée, la sortie ERROR sera définie sur TRUE.

Entrée PTY

Définir le type de console (Pseudo-Terminal). Pour certains appareils, ce paramètre est obligatoire. Exemples : "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" etc. Si aucune valeur n'est définie, "vanilla" est utilisé.

La valeur "exec" exécute la requête via une commande SSH du système d'exploitation. Ainsi, des méthodes plus modernes sont utilisées. Cependant, cette méthode est quelque peu inefficace. L'entrée ENV est définie avant la connexion, elle peut donc être ignorée. L'entrée SIZE est ignorée avec cette méthode.

Si des paramètres SSH supplémentaires doivent être transmis, ceux-ci peuvent être ajoutés chacun sur une nouvelle ligne après "exec". Les paramètres sont sensibles à la casse et sont spécifiés comme dans l'exemple suivant. Cet exemple active l'algorithme RSA pour les anciens appareils.

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

Les paramètres suivants sont disponibles:

Paramètres SSH pour exec Valeur d'exemple
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
ConnectTimeout 10
ServerAliveInterval 30
ServerAliveCountMax 3

Remarque: Pour plus de détails, voir la documentation externe : https://linux.die.net/man/5/ssh_config (Anglais)

Entrée ENV

Définir les variables d'environnement actives. Pour spécifier plusieurs variables, une peut être définie par ligne. Exemple:

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

Entrée SIZE

Définir la taille du terminal. Par défaut, celle-ci est indiquée en caractères, mais peut également être définie en pixels. Par exemple : "80x25" ou "640x480px". Si aucune valeur n'est définie, "80x25" est utilisé.

Entrée RECV_PT

Définir un délai d'attente pour la réception de données par commande au format T#. Si aucun délai d'attente n'est défini, T#150ms est utilisé. Si cette valeur n'est pas suffisamment élevée, plusieurs commandes seront probablement exécutées pendant la sortie des données.

Entrée TIMEOUT

Définir un délai d'attente au format T# pour l'exécution de toutes les commandes. Une fois atteint, la connexion est terminée et la valeur est retournée. ERROR est alors défini sur TRUE. Le délai d'attente est évalué après l'établissement de la connexion et l'authentification. Si l'entrée PTY a été définie sur "exec", le temps d'exécution est évalué sur toute la période. Si aucun délai d'attente n'est défini, T#300s est utilisé.

Sortie DONE

La sortie renvoie un impulsions en cas de succès pour effectuer l'opération suivante. L'impulsion se produit à la fin du processus, même si une erreur s'est produite.

Sortie RETURN

Renvoie le retour de la commande en cas d'exécution réussie. La valeur est stockée pour une utilisation ultérieure.

Remarque: Veuillez noter que la console formate la sortie. Cela peut également contenir des caractères de contrôle ou des données binaires.

Sortie RETERR

Renvoie le retour de la commande en cas d'exécution erronée. Appelé STDERR pour SSH. La valeur est stockée pour une utilisation ultérieure.

Remarque: Veuillez noter que la console formate la sortie. Cela peut également contenir des caractères de contrôle ou des données binaires.

Sortie ERROR

Renvoie en cas d'erreur un texte avec un message d'erreur. Celui-ci est FALSE, si aucune erreur ne s'est produite. L'état est stocké pour une utilisation ultérieure.

Causes possibles:

  • Le service du support de stockage n'a pas été démarré.
  • La mémoire n'a pas été initialisée.
  • Les informations d'identification sont invalides.
  • Le serveur distant n'a pas pu être atteint.
  • Le support de stockage n'existe pas.
  • Le chemin spécifié est invalide.
  • Il n'est pas possible d'écrire sur le support de stockage.
  • Aucun espace de stockage disponible sur la mémoire ou la mémoire est protégée en écriture.
  • La connexion a été terminée de manière inattendue avant que toutes les commandes puissent être envoyées.
  • Le délai d'attente défini a été atteint.

Voir aussi