نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

ملفات تهيئة الصدفة

ملفات الإعدادات على مستوى النظام System-wide Configuration files الملف etc/profile/ تقرأ Bash التعليمات الموجودة في etc/profile/ إن استدعيْت بشكل تفاعلي عبر خيار login-- أو إن استدعيْت كـ sh ، تضبط تلك التعليمات عادة المتغيرات PATH - USER - MAIL - HOSTNAME - HISTSIZE ، وهي متغيرات تابعة للصدفة. كذلك تُضبط قيمة umask في etc/profile/ على بعض الأنظمة، أما في بعضها الآخر فإن هذا الملف يحتوي على موجّهات (pointers) لملفات الإعدادات الأخرى مثل: ملف etc/inputrc/ ، وهو ملف تهيئة على مستوى ...

البنية echo في PHP

(PHP 4, PHP 5, PHP 7) تعرض ‎echo سلسلةً نصيةً وحيدة أو عدة سلاسل نصية. الوصف void echo ( string $arg1 [, string $... ] ) تُخرِج echo كل المعاملات، ولا تضيف إليها سطرًا جديدًا بعدها. لا تعدّ echo دالةً بالمعنى الصريح للكلمة إذ تُعد بنيةً من بنى اللُّغة (‎language construct) لذلك فلستَ مجبرًا على إضافة الأقواس لها. على العكس من بنى اللُّغة الأخرى، فإن echo لا تتصرف مثل الدوال لذلك لا يمكن استخدامها في سياق الدوال دائمًا. إذا أردنا استعمال ...

العمليات على المتغيرات في Bash

العمليات الحسابية على المتغيرات ناقشنا العمليات الحسابية من قبل في التوسعات في Bash، انظر التوسع الحسابي. طول المتغير استخدم صيغة {VAR#}$ لحساب عدد المحارف في متغير ما، وإن كان VAR هو أحد المحرفيْن * أو @ فإن القيمة يحل محلها عدد المعامِلات الموضعية أو عدد العناصر داخل المصفوفة بشكل عام، انظر المثال التالي: [hsoub in ~] echo $SHELL /bin/bash [hsoub in ~] echo ${#SHELL} 9 [hsoub in ~] ARRAY=(one two three) [hsoub in ~] echo ${#ARRAY} 3 عمليات التحول في المتغيرات الإحلال Substitution {VAR:-WORD}$ إن لم ...

اقتباس المحارف في Bash

فائدة اقتباس المحارف تحمل كثيرًا من المحارف والكلمات معاني ووظائف خاصة بشكل أو بآخر، ويُستخدم الاقتباس لإلغاء ذلك المعنى أو الوظيفة الخاصة، إذ تعطِّل علامات التنصيص في Bash تلك المعاملة التي يلقاها المحرف الخاص، وتمنع معاملة الكلمات الخاصة وفقًا للمعاني التي تحملها، وكذلك تعطِّل توسع المعامِلات. محارف الهروب تُستخدم محارف الهروب لإلغاء المعنى الخاص لمحرف واحد، وتُستخدم الشرطة المائلة الخلفية \ كمحرف للهروب في Bash، إذ تحتفظ بالمعنى المباشر للمحرف الذي يليها باستثناء محرف السطر الجديد، فإن أتى محرف سطر ...

تنقيح برامج Bash

التنقيح على مستوى البرنامج ككل حين تحدث مشكلة في البرنامج الذي كتبته فإنك في حاجة إلى وضع يدك على مكان المشكلة بالتحديد داخل الشيفرة، وتوفر Bash مزايا تنقيح شاملة لعل أشهرها هو بدء صدفة فرعية بخيار x- الذي سيبدأ الصدفة بالكامل في طور التنقيح، وستُطبَع آثار كل أمر إضافة إلى وسائطه (arguments) إلى خَرج قياسي (standard output) بعد توسيع الأوامر لكن قبل تنفيذها. الشيفرة التالية هي لبرنامج commented-script1.sh من مثال أساسيات كتابة برامج Bash، وقد استدعينا الصدفة في طور التنقيح ...

أساسيات كتابة برامج Bash

في أي صدفة سيعمل البرنامج؟ يجب أن تحدد الصدفة التي ستنفِّذ البرنامج إذا أردت تنفيذه في صدفة فرعية، فقد لا تكون الصدفة التي كتبت فيها البرنامج هي الصدفة الافتراضية لنظامك، وعليه قد تُنتِج أوامر برنامجك أخطاءً عند تنفيذها في الصدفة الخطأ. يحدد أول سطر في البرنامج نوع الصدفة، ويجب أن يكون أول محرفين في ذلك السطر !#، ثم يتلو ذلك مسار الصدفة التي ستنفِّذ البرنامج. كذلك لا تبدأ برنامجك بسطر فارغ إذ تُقرأ الأسطر الفارغة على أنها أسطر أيضًا، وستبدأ ...

الإشارات في Bash

صفحة man للإشارات يحتوي نظامك على صفحة man بها كل الإشارات المتاحة، لكن قد يُفتح بطريقة مختلفة اعتمادًا على نظام تشغيلك، والطريقة التي ستجدها في أغلب أنظمة لينكس هي man 7 signal، لكن إن كنت في ريب من الأمر فحدد صفحة man والقسم الذي تريده بالضبط باستخدام أوامر مثل: man -k signal | grep list أو apropos signal | grep list ستجد أسماء الإشارات باستخدام kill -l. الإشارات إلى صدفة Bash الخاصة بك تتجاهل صدفة bash التفاعلية إشارتي SIGTERM و SIGQUIT في ...

الأوامر البديلة في Bash

فائدة الأوامر البديلة يسمح الأمر البديل (Alias) بوضع كلمة واحدة مكان مقطع نصي (string)، وذلك إن استُخدم كأول كلمة من أمر بسيط، وتحتفظ الصدفة بقائمة من الأوامر البديلة التي يمكن ضبطها وإلغاء ضبطها بأمريْ alias و unalias. اكتب alias في سطر الأوامر لترى قائمة من الأوامر البديلة المعرَّفة للصدفة الحالية: hsoub: ~> alias alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias PAGER='less -r' alias Txterm='export TERM=xterm' alias XARGS='xargs -r' alias cdrecord='cdrecord -dev 0,0,0 -speed=8' alias e='vi' alias egrep='grep -E' alias ewformat='fdformat -n /dev/fd0u1743; ewfsck' alias fgrep='grep -F' alias ftp='ncftp -d15' alias ...

إنشاء وتشغيل برنامج Bash

الكتابة والتسمية إن كان لديك سلسلة أوامر تنفذها بشكل متكرر وتريد اختصار وقت تنفيذها أو تنفيذها بشكل آلي، فيمكنك وضعها في ملف فارغ يكتب بصيغة معينة وتقرؤه الصدفة على أنه برنامج تنفذه عند استدعاءه بكتابة اسم الملف الذي يحويه، وتسمى تلك البرامج ببرامج الصدفة أو شيفرات الصدفة النصية (Shell Scripts). ويمكن استخدام تلك البرامج لأتمتة المهام باستخدام أداة cron أو في إجراءات الإقلاع وإيقاف التشغيل في أنظمة يونكس، حيث يُحدَّد أسلوب عمل العفاريت (daemons) والخدمات في شيفرات init النصية (init ...

ميزات صدفة Bash

صدفة bash هي الصدفة الافتراضية لنظام جنو يوفّر مشروع GNU -إذ يشير الاسم إلى GNU's Not UNIX- أدواتٍ لإدارة النظم الشبيهة بنظام يونكس، وهي نظم التشغيل الحرة والمتوافقة مع معايير يونكس. وإحدى تلك الأدوات هي bash، صَدَفة متوافقة مع صدفة sh الأولى التي كتبها ستيفن بورن، وبها خصائص مفيدة من صدفتي Korn و C -اختصاراتهما ksh و csh على الترتيب-. وقد صُممت لتتوافق مع معيار IEEE POSIX P1003.2/ISO 9 945.2 للصدفات والبرامج.  كما أن بها مزايا محسّنة عن sh سواء ...

المزيد من خيارات Bash

ناقشنا بعض خيارات صدفة Bash التي قد تفيدك في تنقيح برامج Bash، وسننظر الآن في مزيد من تلك الخيارات بتفصيل أكثر. عرض الخيارات استخدم خيار o- لأمر set لعرض كل خيارات الصدفة: hsoub:~> set -o allexport off braceexpand on emacs ...

Bash/Topics

صدفة Bash وبرامج Bash البرامج الشائعة للصَّدَفة وظائف الصدفة وما تفعله إضافة إلى أنواعها المختلفة (sh، bash، csh، ... ) مزايا صدفة Bash استعراض لأهم مزايا صدفة Bash، مثل الصور المختلفة لاستدعاءات الصدفة، والتعابير الحسابية والشرطية والصدفة المحظورة، وكذلك الأوامر البديلة والمصفوفات، ... . تنفيذ الأوامر في Bash توضيح لما يحدث عند تنفيذ الأوامر في صدفة Bash، واستعراض لأهم الأوامر المُضمَّنة فيها. وحدات البناء الأساسية شرح للوحدات الأساسية التي تشكل صدفة Bash، مثل الأوامر والدوال والمعامِلات والتوسعات والبنية اللغوية، إضافة ...

كتابة برامج Bash تفاعلية

سنتعلم في هذا القسم كيف نُدخل تعليقات المستخدم وكيف نطلب من المستخدم إدخال بيانات، وذلك عادة باستخدام بُنية echo/read، كما سنناقش كيف يمكن استخدام الملفات كمُدخلات ومخرجات باستخدام واصفات الملفات وإعادة التوجيه، وكيف يمكن جمع ذلك مع الحصول على مُدخلات من المستخدم. ويركز هذا الباب أيضًا على أهمية توفير رسائل مفصلة لمن يستخدم برامج الصدفة التي نكتبها، فمن الأفضل أن تعطي معلومات أكثر من اللازم بدلًا من كتابة توثيق موجز. مستندات Here هي إحدى أنواع بُنى الصدفة التي تسمح بإنشاء ...

كتابة وتنقيح برامج Bash

برنامج الصدفة هو سلسلة من الأوامر يعاد استخدامها بشكل متكرر، ووُضعت في ملف نصي له إذن تنفيذ كبرنامج، ويمكن استخدام أي محرر نصي لكتابة برامج لصدفة Bash. تبدأ برامج bash بـ !# متبوعيْن بمسار الصفة التي ستنفذ الأوامر التي ستُكتب في البرنامج، وتضاف التعليقات إلى البرنامج للمرجعية فيما بعد ولتيسير فهم الشيفرة على من يقرؤها. يُفضل الإسهاب في التعليقات داخل برامج الصدفة على الإيجاز فيها. تُنقَّح الصدفة باستخدام خيارات الصدفة، ويمكن استخدام تلك الخيارات للتنقيح الجزئي أو لتحليل الشيفرة كاملة، ...

استخدام الأمر المُضمَّن Shift في Bash

وظيفة أمر shift هو أحد أوامر صدفة بورن التي تأتي مع صدفة Bash أيضًا، ويأخذ هذا الأمر وسيطًا (argument) واحدًا ويكون ذلك الوسيط رقمًا، وتُنقل المعامِلات الموضعية إلى اليسار بمقدار هذا الرقم "N"، أما المعامِلات التي تلي ذلك، من 1+N وما بعده إلى #$ فإن أسماءها تُغيَّر إلى أسماء متغيرات من 1$ إلى #$ +1 - N. فمثلًا لنقل أن لديك أمرًا يأخذ عشرة وسائط، وN تساوي 4، إذًا 4$ تصبح 1$، و 5$ تصبح 2$ وهكذا إلى أن تصل ...

وحدات البناء الأساسية في Bash

وحدات بناء الصدفة البنية اللغوية للصدفة (Shell Syntax) إن كان المُدخَل ليس تعليقًا (comment) فإن الصدفة تقرؤه وتقسمه إلى كلمات ومعامِلات مطبِّقة قواعد الاقتباس (quoting rules) لتحدد معنى كل مِحرَف (character)، ثم تُترجَم تلك الكلمات والمعامِلات إلى أوامر وعناصر أخرى ينتج عنها حالة الخروج المناسبة للعملية. ولا تُطبَّق آلية fork-exec التي ذكرناها في تنفيذ الأوامر في Bash إلا بعد أن تحلل الصدفة المُدخلات وفقًا للخطوات الآتية: تقرأ الصدفة المُدخلات من ملف، سواء من نص (string) أو من طرفية المستخدم. يُقسَّم ...

التابع 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, ...‎ تعليمة ووسيط ...

التابع exec‎ الخاص بالصنف Kernel في روبي

يستبدل التابع exec العملية (process) الحالية عبر تشغيل الأمر الخارجي المعطى والذي يمكن أن يأخذ أحد الأشكال التالية: الأمر الوصف exec(commandline)‎ أحد أوامر سطر الأوامر (command line) والذي يُمرّر إلى الصدفة (shell) القياسية. exec(cmdname, arg1, ...) ‎ اسم أمر (command name) ووسيط واحد أو أكثر (بدون صدفة). exec([cmdname, argv0], arg1, ...)‎ اسم أمر وكائن argv، مع إمكانية إضافة وسائط أخرى (بدون صدفة shell). في الشكل الأول، تؤخذ السلسلة النصية باعتبارها أمرًا يراد تنفيذه في سطر أوامر، ثم تعمل الصدفة على ...

الدالة popen()‎ في PHP

(PHP 4, PHP 5, PHP 7) تفتح الدالة popen()‎ عمليَّة وتشير إليها بمؤشِّر شبيه بمؤشِّر ملف. الوصف resource popen ( string $command , string $mode ) تفتح هذه الدالة أنبوبًا (pipe) يتصل مع العمليَّة المراد تنفيذها باستعمال الأمر command الفرعي المعطى. المعاملات command الأمر المراد تنفيذه. mode يُحدِّد هذا المعامل نوع الوصول المطلوب إلى المجرى. القيم المعادة يُعاد مؤشِّر ملف مطابق تمامًا للمؤشِّر المعاد بوساطة الدالة fopen()‎ باستثناء أنَّه أحادي الاتجاه (unidirectional) (أي يمكن استعماله إمَّا للقراءة أو للكتابة فقط) ويجب ...

التابع Process.spawn في روبي

يُنفِّذ التابع spawn أمرًا محدَّدًا ثم يعيد مُعرِّف العملية الخاصة به. البنية العامة spawn([env,] command... [,options]) → pid spawn([env,] command... [,options]) → pid يشبه التابعُ spawn التابعَ system باستثناء أنّه لا ينتظر إلى أن ينتهي تنفيذ الأمر. يجب على العملية الأب (parent process) أن تستخدم التابع Process.wait لتحصيل حالة الإنهاء للعملية الفرعية، أو تستخدم Process.detach للإبلاغ بعدم الاهتمام بحالتها؛ خلاف ذلك، قد يُراكم نظام التشغيل عمليات ميتة (zombie processes). التابع spawn لديه مجموعة من الخيارات لتحديد خاصيات العملية: env: hash name => val ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).