Μονάδα Λειτουργίας FS_SHELL

Η Μονάδα Λειτουργίας FS_SHELL εκτελεί μία ή περισσότερες απομακρυσμένες εντολές σε μια αλληλεπιδρωτική shell.

Προσοχή: Οι συστηματικές εντολές μπορούν να βλάψουν ή να καταστρέψουν το απομακρυσμένο σύστημα. Επιπλέον, οι υπάρχουσες αρχεία μπορεί να αντικατασταθούν χωρίς προειδοποίηση.

Το σύστημα αρχείων πρέπει να έχει προ-αρχικοποιηθεί με τη βοήθεια του FS_INIT. Όλες οι λειτουργίες πραγματοποιούνται ασύγχρονα για κάθε αποθηκευτικό μέσο.

Είσοδος RUN

Με μια θετική ακμή εκτελείται η καθορισμένη εντολή.

Είσοδος DEV

Ορίζει τη συσκευή από την οποία θα γίνει πρόσβαση στα αρχεία. Η συσκευή χρησιμοποιείται ανά έργο και μπορεί να διαχειριστεί στο μενού Έργο Εξωτερική Αποθήκευση.

Είσοδος PATH

Ορίζει τη διαδρομή προς τον φάκελο στο αποθηκευτικό μέσο. Η διαδρομή αντιστοιχεί σε μια διαδρομή αρχείου Unix στο μορφασμα UTF-8, εάν αυτό υποστηρίζεται. Η διαδρομή παρουσιάζεται ως εξής:

Φάκελος/Υποφάκελος

Η χρήση μιας διαδρομής είναι προαιρετική. Αν έχει οριστεί, τότε η μετακίνηση σε αυτόν τον φάκελο πρέπει να είναι επιτυχής, διαφορετικά η εντολή που θα εκτελεστεί δεν θα εκτελεστεί.

Είσοδος CMD

Ορίζει όλες τις εντολές που πρέπει να εκτελεστούν. Όλες οι εντολές πρέπει να τελειώνουν με ένα τέλος γραμμής. Για παράδειγμα: "ls\n". Αν δεν χρησιμοποιηθεί τέλος γραμμής, η εντολή πιθανότατα δεν θα εκτελεστεί. Οι εντολές εκτελούνται γραμμή προς γραμμή μετά την απάντηση του διακομιστή.

Μετά την εκτέλεση όλων των εντολών, πρέπει να στείλεται ένα "exit\n" στο τέλος, για να τερματιστεί αμέσως η σύνδεση και να επιστραφούν οι τιμές. Μετά από αυτό δεν πρέπει να στείλεται καμία άλλη εντολή, διαφορετικά η έξοδος ERROR θα οριστεί σε TRUE.

Σημείωση: Αν η σύνδεση τερματιστεί απρόσμενα και μια εντολή δεν έχει στείλει, τότε η έξοδος ERROR θα οριστεί σε TRUE.

Είσοδος PTY

Ορίζει τον τύπο της κονσόλας (Pseudo-Terminal). Για ορισμένες συσκευές αυτός ο παράμετρος είναι απαραίτητος. Παραδείγματα: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" κ.λπ. Αν δεν οριστεί καμία τιμή, τότε χρησιμοποιείται η "vanilla".

Η τιμή "exec" εκτελεί την αίτηση μέσω της εντολής SSH του λειτουργικού συστήματος. Αυτό σημαίνει ότι χρησιμοποιούνται πιο σύγχρονες μέθοδοι. Ωστόσο, αυτή η μέθοδος είναι κάπως λιγότερο αποτελεσματική. Η είσοδος ENV ορίζεται πριν από τη σύνδεση, επομένως μπορεί να αγνοηθεί. Η είσοδος SIZE αγνοείται με αυτήν την μέθοδο.

Αν πρέπει να μεταβιβαστούν πρόσθετοι παράμετροι SSH, μπορούν να προστεθούν σε μια νέα γραμμή μετά από "exec". Οι παράμετροι είναι ευαίσθητοι στην περίπτωση και ορίζονται όπως στο παρακάτω παράδειγμα. Αυτό το παράδειγμα ενεργοποιεί τον αλγόριθμο RSA για παλαιότερες συσκευές.

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

Οι διαθέσιμοι παράμετροι είναι οι εξής:

SSH-Παράμετροι για exec Τιμή παραδείγματος
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
ConnectTimeout 10
ServerAliveInterval 30
ServerAliveCountMax 3

Σημείωση: Για περισσότερες λεπτομέρειες, ανατρέξτε στην εξωτερική τεκμηρίωση: https://linux.die.net/man/5/ssh_config (Αγγλικά)

Είσοδος ENV

Ορίζει τις ενεργές μεταβλητές περιβάλλοντος. Για να ορίσετε πολλές μεταβλητές, μπορείτε να ορίσετε μία ανά γραμμή. Παραδείγματα:

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

Είσοδος SIZE

Ορίζει το μέγεθος της κονσόλας. Προκαθορισμένα, αυτό ορίζεται σε χαρακτήρες, αλλά μπορεί επίσης να οριστεί σε pixels. Για παράδειγμα: "80x25" ή "640x480px". Αν δεν οριστεί καμία τιμή, τότε χρησιμοποιείται η "80x25".

Είσοδος RECV_PT

Ορίζει ένα timeout για την λήψη δεδομένων ανά εντολή στο μορφασμα T#. Αν δεν οριστεί timeout, τότε χρησιμοποιείται το T#150ms. Αν αυτή η τιμή δεν είναι αρκετά υψηλή, πιθανότατα θα εκτελεστούν πολλές εντολές κατά τη διάρκεια της εξόδου δεδομένων.

Είσοδος TIMEOUT

Ορίζει ένα timeout στο μορφασμα T# για την εκτέλεση όλων των εντολών. Μετά την επίτευξη αυτού, η σύνδεση τερματίζεται και επιστρέφεται η τιμή. Σε αυτήν την περίπτωση, το ERROR ορίζεται σε TRUE. Το timeout εκτιμάται μετά τη σύνδεση και την αυθεντικοποίηση. Αν η είσοδος PTY έχει οριστεί σε "exec", τότε ο χρόνος εκτέλεσης εκτιμάται για όλη τη διάρκεια. Αν δεν οριστεί timeout, τότε χρησιμοποιείται το T#300s.

Έξοδος DONE

Η έξοδος επιστρέφει ένα παλμό επιτυχίας για να πραγματοποιηθεί η επόμενη λειτουργία. Ο παλμός εμφανίζεται κατά τη λήξη της διαδικασίας, ακόμη και αν έχει συμβεί κάποιο σφάλμα.

Έξοδος RETURN

Επιστρέφει την επιστροφή της εντολής σε περίπτωση επιτυχούς εκτέλεσης. Η τιμή αποθηκεύεται για μελλοντική χρήση.

Σημείωση: Παρατηρήστε ότι η κονσόλα μορφοποιεί την έξοδο. Αυτό σημαίνει ότι μπορεί να περιέχει ελέγχους χαρακτήρων ή δυαδικά δεδομένα.

Έξοδος RETERR

Επιστρέφει την επιστροφή της εντολής σε περίπτωση ανεπιτυχούς εκτέλεσης. Στο SSH ονομάζεται επίσης STDERR. Η τιμή αποθηκεύεται για μελλοντική χρήση.

Σημείωση: Παρατηρήστε ότι η κονσόλα μορφοποιεί την έξοδο. Αυτό σημαίνει ότι μπορεί να περιέχει ελέγχους χαρακτήρων ή δυαδικά δεδομένα.

Έξοδος ERROR

Επιστρέφει ένα μήνυμα σφάλματος σε περίπτωση σφάλματος. Αυτό είναι FALSE, αν δεν έχει συμβεί κάποιο σφάλμα. Η κατάσταση αποθηκεύεται για μελλοντική χρήση.

Δυνατές αιτίες:

  • Η υπηρεσία του αποθηκευτικού μέσου δεν ξεκίνησε.
  • Η μνήμη δεν αρχικοποιήθηκε.
  • Τα δεδομένα σύνδεσης είναι άκυρα.
  • Ο απομακρυσμένος διακομιστής δεν μπορεί να επικοινωνήσει.
  • Το αποθηκευτικό μέσο δεν υπάρχει.
  • Η καθορισμένη διαδρομή είναι άκυρη.
  • Δεν μπορεί να γραφεί στο αποθηκευτικό μέσο.
  • Δεν υπάρχει περισσότερος χώρος στο αποθηκευτικό μέσο ή το αποθηκευτικό μέσο είναι προστατευμένο από γράψιμο.
  • Η σύνδεση τερματίστηκε απρόσμενα πριν όλες οι εντολές να στείλουν.
  • Το καθορισμένο timeout έχει επιτευχθεί.

Βλέπε Επίσης