
تنفذ كتلة الوظيفة FS_SHELL أمرًا أو أكثر من الأوامر عن بُعد في قشرة تفاعلية.
تحذير: قد تتسبب أوامر النظام في تهديد أو تلف النظام البعيد. بالإضافة إلى ذلك، يمكن حذف الملفات الموجودة دون تحذير.
يجب أن يتم تهيئة نظام الملفات مسبقًا باستخدام FS_INIT. تتم جميع العمليات بشكل غير متزامن لكل وسائط تخزين تم إنشاؤها.
عند حافة إيجابية، يتم تنفيذ الأمر المحدد.
يحدد الجهاز الذي يتم من خلاله الوصول إلى الملفات. يتم استخدام الجهاز لكل مشروع ويمكن إدارته في قائمة السياق تحت المشروع التخزين الخارجي.
يحدد المسار إلى الدليل على وسائط التخزين. يتوافق المسار مع مسار ملف Unix في تنسيق UTF-8، إذا تم دعمه. يتم تمثيل المسار كما يلي:
Ordner/Unterordner
استخدام مسار اختياري. إذا تم تعيينه، يجب أن يكون التبديل إلى هذا الدليل ناجحًا، وإلا لن يتم تنفيذ الأمر الذي سيتم تنفيذه.
يحدد جميع الأوامر التي يجب تنفيذها. يجب أن يتم إنهاء جميع الأوامر بواسطة نهاية السطر. مثل: "ls\n". إذا لم يتم استخدام نهاية السطر، فقد لا يتم تنفيذ الأمر. يتم تنفيذ الأوامر خطًا بخطًا بعد ردود الفعل من الخادم.
بعد تنفيذ جميع الأوامر، يجب إرسال "exit\n" في النهاية لإغلاق الاتصال فورًا وإرجاع القيم. بعد ذلك، لا يجب إرسال أي أمر آخر، وإلا سيتم تعيين المخرج ERROR إلى TRUE.
ملاحظة: إذا تم إغلاق الاتصال بشكل غير متوقع ولم يتم إرسال الأمر، سيتم تعيين المخرج ERROR إلى TRUE.
يحدد نوع القشرة (الجهاز الترميزي الكاذب). هذا المعلم إلزامي لبعض الأجهزة. أمثلة: "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 (الإنجليزية)
يحدد المتغيرات البيئية النشطة. لتحديد عدة متغيرات، يمكن تحديد كل منها في سطر منفصل. مثال:
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
يحدد حجم الطرفية. بشكل افتراضي، يتم تحديده بالرموز، ولكن يمكن أيضًا تحديده بالبيكسلات. على سبيل المثال: "80x25" أو "640x480px". إذا لم يتم تحديد قيمة، فسيتم استخدام "80x25".
يحدد وقت انتظار لاستقبال البيانات لكل أمر في التنسيق T#. إذا لم يتم تحديد وقت انتظار، فسيتم استخدام T#150ms. إذا كان هذا القيمة غير كافية، فقد يتم تنفيذ عدة أوامر أثناء إخراج البيانات.
يحدد وقت انتظار لتنفيذ جميع الأوامر في التنسيق T#. بعد الوصول إليه، يتم إغلاق الاتصال وإرجاع القيمة. يتم تعيين ERROR إلى TRUE. يتم تقييم وقت الانتظار بعد إنشاء الاتصال والتحقق من الهوية. إذا تم تعيين مدخل PTY إلى "exec"، يتم تقييم وقت التنفيذ على الفترة الإجمالية. إذا لم يتم تحديد وقت انتظار، فسيتم استخدام T#300s.
يرجع المخرج نبضة عند النجاح لإجراء العملية التالية. تحدث النبضة عند إنهاء العملية، حتى إذا حدث خطأ ما.
يرجع الإرجاع للأمر عند التنفيذ الناجح. يتم تخزين القيمة للاستخدام اللاحق.
ملاحظة: لاحظ أن القشرة تنسيق الإخراج. وبالتالي، قد يحتوي أيضًا على رموز التحكم أو بيانات ثنائية.
يرجع الإرجاع للأمر عند التنفيذ الخاطئ. في SSH، يُطلق عليه أيضًا STDERR. يتم تخزين القيمة للاستخدام اللاحق.
ملاحظة: لاحظ أن القشرة تنسيق الإخراج. وبالتالي، قد يحتوي أيضًا على رموز التحكم أو بيانات ثنائية.
يرجع نصًا مع رسالة خطأ في حالة الخطأ. يكون FALSE إذا لم يحدث أي خطأ. يتم تخزين الحالة للاستخدام اللاحق.
السبب المحتمل: