التابع system
الخاص بالصنف Kernel
في روبي
ينفذ التابع system
الأمر المُمرَّر إليه في صدفة فرعية (subshell).
البنية العامة
system([env,] command... [,options]) → true, false or nil
المعاملات
env
بيئة التنفيذ. يعد هذا المعامل الذي من النوع Hash مماثلة تمامًل لمعامل التابع exec
و spawn
. انظر صفحة spawn
لمزيد من التفاصيل.
command...
التعليمة المراد تنفيذها. تأخذ التعليمة command…
أحد الأشكال التالية.
شكل المعامل command…
|
الوصف |
---|---|
commandline
|
تعليمة نصية تُمرر إلى الصدفة القياسية |
cmdname, arg1, ...
|
تعليمة نصية تُمرر إلى الصدفة القياسية |
[cmdname, argv0], arg1, ...
|
تعليمة ووسيط واحد أو أكثر argv[0]. |
options
الخيارات المستعملة في ضبط العملية. يعد هذا المعامل الذي من النوع Hash مماثل تمامًل لمعامل التابع exec
و spawn
. انظر صفحة spawn
لمزيد من التفاصيل.
القيمة المعادة
تعاد القيمة true
إذا كانت حالة الأمر command...
تساوي الصفر، وإلا فستُعاد القيمة false
. تُعاد nil
إن فشل تنفيذ التعليمة. حالة الخطأ (error status) متاحة في $?
، وتٌعالج الوسائط كما هو الحال في التابع spawn
.
أمثلة
مثال على استخدام التابع system
:
system("echo *")
system("echo", "*")
الناتج:
config.h main.rb
*
انظر أيضا
- التابع
spawn
: ينفذ تعليمة محددة، ثم يعيد معرفها (pid). - التابع
syscall
: يستدعي دالة نظام التشغيل المحددة بواسطة المعامل المُمرَّر إليه ويعيد نتيجة هذه الدالة أو يطلق الخطأSystemCallError
في حال فشل استدعائها. - التابع
exec
لمزيد من المعلومات حول الصدفة (shell) القياسية.