كتلة الوظيفة FS_SHELL

تنفذ كتلة الوظيفة FS_SHELL أمرًا أو أكثر من الأوامر عن بُعد في قشرة تفاعلية.

تحذير: قد تتسبب أوامر النظام في تهديد أو تلف النظام البعيد. بالإضافة إلى ذلك، يمكن حذف الملفات الموجودة دون تحذير.

يجب أن يتم تهيئة نظام الملفات مسبقًا باستخدام FS_INIT. تتم جميع العمليات بشكل غير متزامن لكل وسائط تخزين تم إنشاؤها.

مدخل RUN

عند حافة إيجابية، يتم تنفيذ الأمر المحدد.

مدخل DEV

يحدد الجهاز الذي يتم من خلاله الوصول إلى الملفات. يتم استخدام الجهاز لكل مشروع ويمكن إدارته في قائمة السياق تحت المشروع التخزين الخارجي.

مدخل PATH

يحدد المسار إلى الدليل على وسائط التخزين. يتوافق المسار مع مسار ملف Unix في تنسيق UTF-8، إذا تم دعمه. يتم تمثيل المسار كما يلي:

Ordner/Unterordner

استخدام مسار اختياري. إذا تم تعيينه، يجب أن يكون التبديل إلى هذا الدليل ناجحًا، وإلا لن يتم تنفيذ الأمر الذي سيتم تنفيذه.

مدخل CMD

يحدد جميع الأوامر التي يجب تنفيذها. يجب أن يتم إنهاء جميع الأوامر بواسطة نهاية السطر. مثل: "ls\n". إذا لم يتم استخدام نهاية السطر، فقد لا يتم تنفيذ الأمر. يتم تنفيذ الأوامر خطًا بخطًا بعد ردود الفعل من الخادم.

بعد تنفيذ جميع الأوامر، يجب إرسال "exit\n" في النهاية لإغلاق الاتصال فورًا وإرجاع القيم. بعد ذلك، لا يجب إرسال أي أمر آخر، وإلا سيتم تعيين المخرج ERROR إلى TRUE.

ملاحظة: إذا تم إغلاق الاتصال بشكل غير متوقع ولم يتم إرسال الأمر، سيتم تعيين المخرج ERROR إلى TRUE.

مدخل PTY

يحدد نوع القشرة (الجهاز الترميزي الكاذب). هذا المعلم إلزامي لبعض الأجهزة. أمثلة: "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

يحدد حجم الطرفية. بشكل افتراضي، يتم تحديده بالرموز، ولكن يمكن أيضًا تحديده بالبيكسلات. على سبيل المثال: "80x25" أو "640x480px". إذا لم يتم تحديد قيمة، فسيتم استخدام "80x25".

مدخل RECV_PT

يحدد وقت انتظار لاستقبال البيانات لكل أمر في التنسيق T#. إذا لم يتم تحديد وقت انتظار، فسيتم استخدام T#150ms. إذا كان هذا القيمة غير كافية، فقد يتم تنفيذ عدة أوامر أثناء إخراج البيانات.

مدخل TIMEOUT

يحدد وقت انتظار لتنفيذ جميع الأوامر في التنسيق T#. بعد الوصول إليه، يتم إغلاق الاتصال وإرجاع القيمة. يتم تعيين ERROR إلى TRUE. يتم تقييم وقت الانتظار بعد إنشاء الاتصال والتحقق من الهوية. إذا تم تعيين مدخل PTY إلى "exec"، يتم تقييم وقت التنفيذ على الفترة الإجمالية. إذا لم يتم تحديد وقت انتظار، فسيتم استخدام T#300s.

مخرج DONE

يرجع المخرج نبضة عند النجاح لإجراء العملية التالية. تحدث النبضة عند إنهاء العملية، حتى إذا حدث خطأ ما.

مخرج RETURN

يرجع الإرجاع للأمر عند التنفيذ الناجح. يتم تخزين القيمة للاستخدام اللاحق.

ملاحظة: لاحظ أن القشرة تنسيق الإخراج. وبالتالي، قد يحتوي أيضًا على رموز التحكم أو بيانات ثنائية.

مخرج RETERR

يرجع الإرجاع للأمر عند التنفيذ الخاطئ. في SSH، يُطلق عليه أيضًا STDERR. يتم تخزين القيمة للاستخدام اللاحق.

ملاحظة: لاحظ أن القشرة تنسيق الإخراج. وبالتالي، قد يحتوي أيضًا على رموز التحكم أو بيانات ثنائية.

مخرج ERROR

يرجع نصًا مع رسالة خطأ في حالة الخطأ. يكون FALSE إذا لم يحدث أي خطأ. يتم تخزين الحالة للاستخدام اللاحق.

السبب المحتمل:

  • لم يتم بدء خدمة وسائط التخزين.
  • لم يتم تهيئة التخزين.
  • بيانات تسجيل الدخول غير صالحة.
  • لا يمكن الوصول إلى الخادم البعيد.
  • وسائط التخزين لا موجودة.
  • المسار المحدد غير صالح.
  • لا يمكن الكتابة على وسائط التخزين.
  • لا يوجد مساحة تخزين متاحة على التخزين أو التخزين محمي من الكتابة.
  • تم إغلاق الاتصال بشكل غير متوقع قبل إرسال جميع الأوامر.
  • تم الوصول إلى وقت الانتظار المحدد.

راجع أيضًا