نتائج البحث

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

الحصول على مُدخلات المستخدم في Bash

استخدام أمر read أمر read هو الأمر المتمم لأمريْ echo و printf، وبنيته اللغوية كالتالي: read [options] NAME1 NAME2 ... NAMEN يُقرأ سطر واحد من المُدخل القياسي (standard input) أو من واصف ملف (file descriptor) أُدخِل كوسيط لخيار u-، وتُعيَّن أول كلمة من السطر لأول اسم NAME1، والثانية للاسم الثاني NAME2 وهكذا، ثم تُعيَّن الكلمات المتبقية وفاصلاتها المتداخلة (intervening seperators) إلى الاسم الأخير NAMEN، أما إن كانت الكلمات المقروءة من مجرى الدخل أقل من الأسماء فتعيَّن قيم فارغة لتلك الأسماء. تُستخدم ...

مقدمة إلى if في Bash

قد تحتاج إلى تحديد سلاسل إجراءات مختلفة داخل برامج الصدفة (shell scripts) بناءً على نجاح تنفيذ أمر أو فشله، وتأتي أداة if الشرطية من أجل مثل تلك الحالات، وأصغر بنية لغوية لأمر if هي التالية: if TEST-COMMANDS; then CONSEQUENT-COMMANDS; fi تُنفَّذ قائمة أوامر الاختبار TEST-COMMANDS، ثم تُنفَّذ قائمة الأوامر التابعة CONSEQUENT-COMMANDS إن كانت حالة الإعادة لها هي صفر. وتكون حالة الإعادة هي حالة خروج آخر أمر تم تنفيذه، أو تكون صفرًا إن لم تتحقق أي حالة من أوامر الاختبار. يتضمن أمر ...

ميزات صدفة Bash

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

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

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

أمثلة عن الدوال في Bash

إعادة التدوير ستجد برامج كثيرة على نظامك تستخدم الدوال كطريقة منظمة لمعالجة سلسلة ما من الأوامر، ففي بعض أنظمة لينكس مثلًا ستجد الملف التعريفي etc/rc.d/init/functions/ يشار إليه كمصدر في كل شيفرات init النصية. وبهذا الأسلوب لا تحتاج إلى كتابة المهام المتكررة سوى مرة واحدة وبشكل عام أيضًا، مهام مثل تفقد ما إن كانت تعمل إحدى المهام، تشغيل أو إيقاف أحد العفاريت (daemons)، وهلم جرا. ثم إذا دعت الحاجة إلى كتابة تلك المهام مرة أخرى فإنك لا تحتاج سوى إعادة تدوير ...

حلقة for في Bash

كيفية عمل حلقة for التكرارية حلقة for هي أول وحدة تكرارية في الصدفة من بين ثلاث وحدات، وتسمح تلك الحلقة بتخصيص قائمة من القِيَم، وتُنفَّذ قائمة من الأوامر لكل قيمة من تلك القيم. والبنية اللغوية لهذه الحلقة التكرارية هي كالآتي: for NAME [in LIST ]; do COMMANDS; done إن لم تكن [ in LIST] موجودة فيتم استبدال @$ in بها، وتنفذ for الأوامر (COMMANDS) مرة واحدة لكل معامل موضعي مضبوط على قيمة، انظر المتغيرات في Bash وفحص وسائط سطر الأوامر. وتكون ...

حلقة until في Bash

كيفية عمل حلقة until تشبه هذه الحلقةُ التكرارية حلقةَ while باستثناء أن الحلقة هنا تُنفَّذ إلى أن يُنفَّذ أمر اختباري TEST-COMMAND بنجاح، فتظل الحلقة عاملة طالما كان تنفيذ الأمر الاختباري يفشل. والبنية اللغوية لها تشبه البنية اللغوية لحلقة while : until TEST-COMMAND; do CONSEQUENT-COMMANDS; done وحالة الإعادة لهذه الحلقة هي نفسها حالة الخروج لآخر أمر يُنفَّذ من الأوامر التابعة CONSEQUENT-COMMANDS أو تكون صفرًا إن لم يُنفَّذ أي أمر. وقد يكون الأمر الاختباري TEST-COMMAND أي أمر يمكن أن يخرج بحالة نجاح أو فشل، ...

التابع ARGF.fileno في روبي

يعيد التابع fileno عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) للملف الحالي. إن لم يكن هنالك ملف، فسيُطلَق الخطأ ArgumentError. البنية العامة fileno → integer القيم المعادة يعاد عدد صحيح (integer) يمثل واصف الملف الرقمي (numeric file descriptor) للملف الحالي. أمثلة مثالٌ على استخدام التابع fileno: ARGF.fileno #=> 3 انظر أيضًا التابع file: يعيد الملف الحالي على شكل كائن من النوع IO أو File. التابع filename: يعيد اسم الملف الحالي. التابع lineno: يجلب ...

إعادة التوجيه والحلقات في Bash

إعادة توجيه المُدخلات يمكن تحديد ملف به تعليمات تُستخدم للتحكم في حلقة تكرارية بدلًا من التحكم فيها عن طريق تفقد نتيجة أمر ما أو عن طريق تدخل المستخدم يدويًا، وعادة ما يُستخدم أمر read في هذه الحالة كأمر متحكِّم، ويستمر تنفيذ الحلقة طالما تُغذَّى الحلقة التكرارية بأسطر مدخلات من ذلك الملف، وبمجرد قراءة جميع الأسطر فإن الحلقة تتوقف وتخرج. وبما أن بنية الحلقة التكرارية تُعد بنية لأمر واحد (مثل while TEST-COMMAND; do CONSEQUENT-COMMANDS; done) فإن إعادة التوجيه يجب أن تحدث ...

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

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

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

أنواع المتغيرات تُكتب متغيرات الصدفة بحروف إنجليزية كبيرة، وتحتفظ Bash بقائمة من نوعين من المتغيرات: المتغيرات العامة Global Variables ستجد المتغيرات العامة أو متغيرات البيئة (environment variables) في جميع الصدفات، ويمكن استخدام أوامر env أو printenv لعرض متغيرات البيئة، وتأتي تلك البرامج في حزمة sh-utils. إليك مثالًا لخرج أمر printenv: wiki ~> printenv CC=gcc CDPATH=.:~:/usr/local:/usr:/ CFLAGS=-O2 -fomit-frame-pointer COLORTERM=gnome-terminal CXXFLAGS=-O2 -fomit-frame-pointer DISPLAY=:0 DOMAIN=hq.garrels.be e= TOR=vi FCEDIT=vi FIGNORE=.o:~ G_BROKEN_FILENAMES=1 GDK_USE_XFT=1 GDMSESSION=Default GNOME_DESKTOP_SESSION_ID=Default GTK_RC_FILES=/etc/gtk/gtkrc:/nethome/wiki/.gtkrc-1.2-gnome2 GWMCOLOR=darkgreen GWMTERM=xterm HISTFILESIZE=5000 history_control=ignoredups HISTSIZE=2000 HOME=/nethome/wiki HOSTNAME=hsoub.hq.garrels.be INPUTRC=/etc/inputrc IRCNAME=wiki JAVA_HOME=/usr/java/j2sdk1.4.0 LANG=en_US LDFLAGS=-s LD_LIBRARY_PATH=/usr/lib/mozilla:/usr/lib/mozilla/plugins LESSCHARSET=latin1 LESS=-edfMQ LESSOPEN=|/usr/bin/lesspipe.sh %s LEX=flex LOCAL_MACHINE=hsoub LOGNAME=wiki LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35: MACHINES=hsoub MAILCHECK=60 MAIL=/var/mail/wiki MANPATH=/usr/man:/usr/share/man/:/usr/local/man:/usr/X11R6/man MEAN_MACHINES=hsoub MOZ_DIST_BIN=/usr/lib/mozilla MOZILLA_FIVE_HOME=/usr/lib/mozilla MOZ_PROGRAM=/usr/lib/mozilla/mozilla-bin MTOOLS_FAT_COMPATIBILITY=1 MYMALLOC=0 NNTPPORT=119 NNTPSERVER=news NPX_PLUGIN_PATH=/plugin/ns4plugin/:/usr/lib/netscape/plugins OLDPWD=/nethome/wiki OS=Linux PAGER=less PATH=/nethome/wiki/bin.Linux:/nethome/wiki/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin:. PS1=\[\033[1;44m\]wiki is in \w\[\033[0m\] PS2=More input> PWD=/nethome/wiki SESSION_MANAGER=local/hsoub.hq.garrels.be:/tmp/.ICE-unix/22106 SHELL=/bin/bash SHELL_LOGIN=--login SHLVL=2 SSH_AGENT_PID=22161 SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass SSH_AUTH_SOCK=/tmp/ssh-XXmhQ4fC/agent.22106 START_WM=twm TERM=xterm TYPE=type USERNAME=wiki USER=wiki _=/usr/bin/printenv VISUAL=vi WINDOWID=20971661 XAPPLRESDIR=/nethome/wiki/app-defaults XAUTHORITY=/nethome/wiki/.Xauthority XENVIRONMENT=/nethome/wiki/.Xdefaults XFILESEARCHPATH=/usr/X11R6/lib/X11/%L/%T/%N%C%S:/usr/X11R6/lib/X11/%l/%T/%N%C%S:/usr/X11R6/lib/X11/%T/%N%C%S:/usr/X11R6/lib/X11/%L/%T/%N%S:/usr/X11R6/lib/X11/%l/%T/%N%S:/usr/X11R6/lib/X11/%T/%N%S XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB XMODIFIERS=@im=none XTERMID= XWINHOME=/usr/X11R6 X=X11R6 YACC=bison -y المتغيرات المحلية Local Variables لن تجد المتغيرات المحلية إلا في الصدفة الحالية، ويمكن استخدام أمر set -بدون خيارات- لعرض ...

التابع ARGF.to_i في روبي

يعيد التابع to_i عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) للملف الحالي. إن لم يكن هنالك ملف، فسيُطلَق الخطأ ArgumentError. البنية العامة to_i → integer القيم المعادة يعاد عدد صحيح (integer) يمثل واصف الملف الرقمي (numeric file descriptor) للملف الحالي. أمثلة مثال على استخدام التابع to_i: ARGF.to_i #=> 3 انظر أيضًا التابع fileno: يعيد عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) للملف الحالي. التابع lineno: يجلب رقم السطر الحالي للمجرى ARGF ككُل. التابع ...

بيئة Bash

يمكن إعداد بيئة Bash على مستوى النظام ككل أو لكل مستخدم على حدة، وتُستخدم ملفات الإعدادات المختلفة من أجل ضبط سلوك الصدفة، إذ تحتوي تلك الملفات على خيارات الصدفة وإعدادات المتغيرات وتعريفات الدوال ووحدات أخرى من وحدات بناء صدفة Bash التي تيسر علينا إنشاء بيئة عمل مريحة ومنجِزة. يمكن اختيار أسماء للمتغيرات كما تشاء -نوعًا ما- باستثناء الأسماء المحجوزة لصدفة بورن وصدفة Bash والمعامِلات الخاصة (special parameters). وتستخدم Bash نظام اقتباس (quoting) لاستبعاد المعاني الخاصة من محرف أو أكثر في ...

التوسعات في Bash

بعد تقسيم الأمر في Bash إلى وحدات (Tokens) -انظر وحدات البناء الأساسية في Bash، البنية اللغوية للصدفة- فإن تلك الوحدات توسَّع (expanded) أو تُستبيَن (resolved)، وسنفصّل الآن تلك التوسعات وفقًا لترتيب كل منها، ثم بعد إتمام جميع التوسعات تُنفّذ عملية حذف الاقتباسات. توسُّع القوس المعقوف {} توسع القوس المعقوف هو آلية يمكن من خلالها إنشاء نصوص عشوائية (arbitrary strings)، إذ تأخذ الأنماط (patterns) التي سيُنفَّذ عليها توسع القوس المعقوف باستهلال اختياري (optional preamble) متبوع بسلسلة من النصوص تفصل بين كل ...

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

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

إنشاء قوائم باستخدام الأمر المُضمَّن select في Bash

عام استخدام أمر select البُنية اللغوية لأمر select تشبه بُنية حلقة for: select WORD [in LIST]; do RESPECTIVE-COMMANDS; done ويُستخدم أمر select من أجل إنشاء قوائم بسهولة عبر اتباع ما يلي: تُوسّع القائمة LIST مولِّدة قائمة من العناصر ويطبع التوسع في خطأ قياسي (standard error)، كما يُسبق كل عنصر من القائمة برقم. وإن لم تكن in LIST موجودة فتُطبع المعامِلات الموضعية كما لو تم تحديد @$ in. أيضًا، تُطبع قائمة LIST مرة واحدة فقط. يُطبع محث PS3 عند طباعة كل العناصر، ...

 التابع Dir.fileno في روبي

يعيد التابع fileno عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) المُستخدم في الكائن Dir الذي استُدعي معه. يستخدم هذا التابع الدالة dirfd()‎ المُعرّفة في المعيار POSIX 2008. وبالتالي، سيُطلق الخطأ NotImplementedError في أنظمة التشغيل التي لا توفّر هذه الدالة، مثل ويندوز. البنية العامة fileno → integer القيم المعادة يعاد عدد صحيح (integer) يمثل واصف الملف العددي (numeric file descriptor) المُستخدم في الكائن Dir المعطى. أمثلة مثالٌ على استخدام التابع fileno: d = Dir.new("..") d.fileno #=> ...

صدفة Bash وبرامج Bash

تعريف بصدفة Bash Bash هي صدفة نظام جنو التي تتوافق مع صدفة بورن وتزيد عليها بعدة مزايا وخصائص مفيدة من باقي الصدفات، وحين تبدأ الصدفة فإنها تقرأ ملفات إعداداتها التي من أهمها ما يلي: etc/profile/ bash_profile./~ bashrc./~ كذلك تتصرف bash بشكل مختلف حين تكون في وضع تفاعلي، وهي متوافقة مع معايير POSIX وبها وضع محظور. ويمكن تقسيم أوامرها إلى ثلاث مجموعات: دوال الصدفة والأوامر المُضمَّنة والأوامر الموجودة داخل مجلد في نظامك. أيضًا، تدعم bash أوامر مضمَّنة أخرى ليست موجودة داخل ...

التابع 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 ...

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

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

البرامج الشائعة للصَّدَفة

الوظائف العامة للصدفة يفسر برنامج صَدَفة يونكس أوامر المستخدم التي يدخلها بنفسه أو التي يمكن استخراجها وقراءتها من ملف نصي يسمى شيفرة الصَّدَفة النصية (shell script) أو برنامج الصدفة (shell program). وتكون تلك الملفات النصية مفسّرة (interpreted) على خلاف الملفات المُجمّعة (compiled)، بمعنى أن الصدفة تقرأ الأوامرَ سطرًا سطرًا وتبحث عنها في النظام، على خلاف البرامج المُجمَّعة التي يحوِّل المُجمِّع (compiler) شيفرتها إلى ملف تنفيذي (executable file) مكتوب بلغة يستطيع الحاسوب فهمها -لغة الآلة-، ثم يُمكن استخدام ذلك الملف بعدها ...

التابع IO.close_on_exec=‎ في روبي

يعين التابع close_on_exec عند استدعائه بالشكل close_on_exec = bool قيمة الراية close-on-exec إلى القيمة bool المنطقية. تعيّن روبي الرايات close-on-exec لكل واصفات الملفات (file descriptors) افتراضيًا منذ الإصدار 2.0.0. لذلك، لا تحتاج إلى تعيينها بنفسك. أضف إلى ذلك أنَّه قد يؤدي عدم ضبط الراية close-on-exec إلى حدوث تسرب لواصف الملف إن استخدمت مهمة فرعية أخرى التابعين ‎fork()‎ و exec()‎ (عبر التابع system()‎ على سبيل المثال). إن كنت بحاجة إلى توريث واصف الملفات في عملية فرعية (child process)، فاستخدم وسيط التابع spawn()‎ ...

التابع ARGF.to_write_io في روبي

يعيد التابع to_write_io نسخةً من الصنف IO مرتبطةً بالمجرى ARGF للكتابة عليها في حال كان الوضع inplace مفعَّلًا. البنية العامة to_write_io → io القيم المعادة يعاد كائن من النوع IO مرتبط بالمجرى ARGF. انظر أيضًا التابع write: يكتب السلسلة النصية الممرَّرة إليها على المجرى ARGF في حال كان الوضع inplace مفعَّلًا. التابع file: يعيد الملف الحالي على شكل كائن من النوع IO أو File. التابع fileno: يعيد عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) للملف الحالي. التابع ...

التابع IO.fileno‎ في روبي

يُعيد التابع fileno عددًا صحيحًا يمثل واصف الملف الرقمي (numeric file descriptor) للمجرى الذي استدعي معه. البنية العامة fileno → integer to_i→ integer‎ القيمة المعادة يعاد عددٌ صحيحٌ يمثل واصف الملف الرقمي للمجرى المعطى. أمثلة مثال على استخدام التابع fileno‎: $stdin.fileno #=> 0 $stdout.fileno #=> 1‎ انظر أيضًا التابع fdatasync: يكتب مباشرةً جميع البيانات المخزنة في مجرى د/خ على القرص. مصادر قسم التابع fileno‎ في الصنف IO‎ في توثيق روبي الرسمي.

تنقيح برامج Bash

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

الأوامر البديلة في 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 ...

التابع ARGF.file في روبي

يعيد التابع file الملف الحالي على شكل كائن من النوع IO أو File. البنية العامة file → IO or File object القيم المعادة يعاد كائن من النوع IO أو File يمثل الملف الحالي، أو القيمة ‎$stdin إن كان الملف الحالي هو مجرى الدخل القياسي (STDIN). أمثلة مثال على استخدام التابع file: $ echo "foo" > foo $ echo "bar" > bar $ ruby argf.rb foo bar ARGF.file #=> #<File:foo> ARGF.read(5) #=> "foo\nb" ARGF.file ...

التابع ARGF.path في روبي

يعيد التابع path اسم الملف الحالي. البنية العامة path → String القيم المعادة تعاد سلسلة نصية تمثل اسم الملف الحالي، أو القيمة "-" إن كان الملف الحالي هو مجرى الدخل القياسي (STDIN). أمثلة مثالٌ على استخدام التابع path: $ echo "foo" > foo $ echo "bar" > bar $ echo "glark" > glark $ ruby argf.rb foo bar glark ARGF.filename #=> "foo" ARGF.read(5) #=> "foo\nb" ARGF.filename #=> "bar" ARGF.skip ARGF.filename #=> "glark" انظر أيضًا التابع filename: يعيد اسم الملف الحالي. التابع file: يعيد ...

التابع ARGF.lineno في روبي

يجلب التابع lineno رقم السطر الحالي للمجرى ARGF ككُل. يمكن تعيين هذه القيمة يدويًا عبر استدعاء هذا التابع بالشكل lineno = integer. البنية العامة lineno → integer القيم المعادة يعاد عدد صحيح (integer) يمثل رقم السطر الحالي للمجرى ARGF ككل. أمثلة مثالٌ على استخدام التابع lineno: ARGF.lineno #=> 0 ARGF.readline #=> "This is line 1\n" ARGF.lineno #=> 1 انظر أيضًا التابع lineno: يعيِّن عند استدعائه بالشكل lineno = integer رقم السطر الحالي للمجرى ARGF ككُل. التابع file: يعيد ...

التابع ARGF.filename في روبي

يعيد التابع filename اسم الملف الحالي. البنية العامة filename → String القيمة المعادة تعاد سلسلة نصية تمثل اسم الملف الحالي، أو القيمة "-" إن كان الملف الحالي هو مجرى الدخل القياسي (STDIN). أمثلة مثالٌ على استخدام التابع filename: $ echo "foo" > foo $ echo "bar" > bar $ echo "glark" > glark $ ruby argf.rb foo bar glark ARGF.filename #=> "foo" ARGF.read(5) #=> "foo\nb" ARGF.filename #=> "bar" ARGF.skip ARGF.filename #=> "glark" انظر أيضًا التابع path: يعيد اسم الملف الحالي. التابع file: يعيد ...

الوحدة os في بايثون

توفر هذه الوحدة آلية محمولة لاستخدام الوظائف والأدوات التي تعتمد على نوع نظام التشغيل. ‎‎>>> import os >>> os.getcwd() '/home/username' ملاحظات تستخدم وظائِف جميع الوحدات المبنيّة في بايثون، والمعتمدة على نوع نظام التشغيل، في جميع الأنظمة المتوافرة فيها نفس الواجهة (interface). فعلى سبيل المثال، تُعيد الدالة os.stat(path)‎‎ معلومات حول المسار المُدخَل بنفس التنسيق على جميع الأنظمة التي تتوافر فيها الدالة (الواجهة المُستخدمة هنا مماثلة لتلك المُستخدمة في واجهة POSIX). تتوفر أيضًا إمكانيّة إضافة إضافات خاصة لنظام تشغيل مُعين عبر الوحدة os، ولكن ...

 التابع Dir.inspect في روبي

يعيد التابع inspect سلسلة نصية تصف الكائن Dir الذي استُدعي معه. البنية العامة inspect → string القيم المعادة تُعاد سلسلة نصية تصف الكائن Dir الذي استُدعي معه. انظر أيضًا التابع fileno: يعيد عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) المُستخدم في الكائن Dir الذي استُدعي معه. مصادر قسم التابع inspect في الصنف Dir في توثيق روبي الرسمي.

الإشارات في Bash

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

الدوال في Bash

توفر الدوال طريقة سهلة لتجميع أوامر تحتاج إلى تنفيذها بشكل متكرر، وحين تعمل الدالة فإن المعامِلات الموضعية (positional parameter) تتغير إلى معامِلات الدالة، ثم يعاد ضبط تلك المعاملات بعد توقف الدالة إلى معاملات البرنامج المُستدعِي. وكذلك فإن الدوال تشبه برامج مصغرة (mini-scripts)، ومن ثَمَّ فإنها تولِّد رموز حالة خروج (exit codes) أو رموز حالة إعادة (return codes). مقدمة إلى الدوال في Bash نظرة عامة على الدوال في Bash والبُنى اللغوية لها ومعامِلاتها الموضعية وعرضها في الصدفة. أمثلة عن الدوال في ...

الأفخاخ في Bash

عام قد تجد حالات لا تريد فيها من يستخدم شيفراتك النصية أن يخرج قبل الوقت المحدد عن طريق اختصارات لوحة المفاتيح حين تحتاج إلى مدخلات مثلًا أو عند القيام بعملية تنظيف، ويمكن استخدام أمر trap ليلتقط إشارات لوحة المفاتيح تلك، ويمكن برمجته مسبقًا لينفِّذ قائمة أوامر عند التقاط تلك الإشارات. قواعد أمر trap واضحة ومباشرة: trap [الإشارات] [الأوامر] هذا يجعل أمر trap يلتقط الإشارات المُعطاة له، والتي قد تكون أسماء إشارات مع سابقة SIG أو بدونها، أو تكون أرقام إشارات. وإن ...

Bash/Topics

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

المصفوفات في Bash

إنشاء المصفوفات المصفوفة هي متغير يحتوي قيمًا متعددة، وأي متغير قد يُستخدم كمصفوفة، كذلك لا يوجد حد أقصى لحجم المصفوفة ولا يُشترط أن تُفهرس المتغيرات داخل المصفوفة أو تُعيَّن في وقت واحد، وقد تكون المصفوفات صفرية القاعدة أي يُفهرس أول عنصر برقم صفر. ينفَّذ التصريح غير المباشر عن المتغير (indirect declaration) باستخدام البنية اللغوية التالية: ARRAY[INDEXNR]=value يعامَل المفهرِس INDEXER على أنه تعبير حسابي يجب أن يٌقدَّر بعدد موجب، ويتم التصريح الواضح (explicit declaration) للمصفوفة باستخدام أمر declare: declare -a ARRAYNAME يُقبَل التصريح ...

الدالة open()‎ في بايثون

تفتح الدّالة open()‎ ملفّا وتعيد كائن ملفّ (file object) مرتبط به. إن لم يُمكِن فتح الملفّ، فسيُطلَق الاستثناء OSError‎. البنية العامة open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) المعاملات file كائن مُشابه للمسارات (path-like object) يُمثّل مسار الملفّ (سواء أكان مُطلقا أو نسبيًّا) المرغوب فتحه. يُمكن كذلك أن يكون واصف ملفّ عدديّ (integer file descriptor) للملفّ لتغطيّته (wrap). إن مُرّر واصف ملفّات، فسيُغلَق عندما يُغلَق كائن I/O المُعاد، إلّا في حالة كانت قيمة المُعامل closefd تساوي False. mode مُعامل ...

الحقل file

عناصر <input> ذات النوع file تسمح للمستخدم باختيار ملف أو أكثر لرفعها إلى الخادوم أو تعديلها باستخدام الواجهة البرمجية File. الخاصية value تحتوي الخاصية value في الحقل file على سلسلة نصية (DOMString) التي تُمثِّل المسار إلى الملف (أو الملفات) المختارة. بعض الأمور التي عليك أن تضعها بالحسبان: إذا تم اختيار عدِّة ملفات، فقيمة الخاصية value ستُمثِّل أوّل ملف مختار، لكن يمكن الوصول إلى الملفات الأخرى عبر الخاصية FileList في DOM التابعة للعنصر <input>. إذا لم يتم اختيار ملف بعد، فستكون ...

تطوير برامج Bash جيدة

خصائص الشيفرات الجيدة هذا الشرح عن آخر وحدة بناء للصدفة وهي الشيفرات النصية. إليك بعض الأمور التي يجب أن تراعيها قبل أن نكمل: يجب أن تعمل الشيفرة بدون أخطاء. يجب أن تنفذ المهمة التي كُتبت لها. يجب أن يكون منطق البرنامج محددًا وظاهرًا. لا تنفذ الشيفرة مهامًا غير ضرورية. ينبغي أن تكون الشيفرة قابلة لإعادة استخدامها. الهيكل Structure يجب أن يكون هيكل شيفرة الصدفة مرنًا للغاية، فرغم أن bash بها حرية ظاهرة، إلا أنه يجب تحقيق منطق صحيح وتحكم في ...

التابع ARGF.skip في روبي

يتخطى التابع skip الملف الحالي إلى الملف التالي ويجعله هو الملفَّ الحالي في المجرى ARGF. وفي حال لم يكن هنالك أية ملفات متبقية، فلن يكون لهذا التابع أي تأثير. البنية العامة skip → ARGF القيم المعادة يعاد المجرى ARGF. أمثلة مثال على استخدام التابع skip: $ ruby argf.rb foo bar ARGF.filename #=> "foo" ARGF.skip ARGF.filename #=> "bar" انظر أيضًا التابع close: يغلق الملف الحالي ويتخطاه إلى الملف التالي في ARGV. التابع eof?‎: يتحقق إذا بلغ الملف الحالي نهايته في ARGF. التابع ...

الاستخدامات المتقدمة لعبارة if الشرطية في Bash

بُنى if/then/else يوضح المثال التالي البُنية التي يجب استخدامها لاتخاذ إجراء أو سلسلة إجراءات إن تحققت شروط عبارة if، وسلسلة إجراءات أخرى إن لم تتحقق: hsoub scripts> gender="male" hsoub scripts> if [[ "$gender" == "f*" ]] More input> then echo "Pleasure to meet you, Madame." More input> else echo "How come the lady hasn't got a drink yet?" More input> fi How come the lady hasn't got a drink yet? hsoub scripts> الفرق بين [] و [[]] على عكس ]، فإن ]] تمنع انقسام الكلمات في ...

التابع IO.new‎ في روبي

ينشئ التابع new كائنًا جديدًا من النوع IO انطلاقًا من واصف الملف (file descriptor) ووضع الفتح الممرَّرين إليه. يُستدعَى التابع new عبر العديد من توابع الفتح الخاصة بالصنفين File و IO، مثل open و Kernel.open و File.open. البنية العامة new(fd [, mode] [, opt])→ io‎ المعاملات fd‎ واصف الملف المراد فتحه. mode‎ وضع الفتح الذي يحدد الكيفية والغرض من فتح الملف ذي الواصف fd. وضع الفتح (Open Mode) إن كان المعامل mode عددًا صحيحًا، فيجب أن يكون مزيجًا من الأوضاع المعرفة ...

التابع ARGF.rewind في روبي

يُرجِع التابع rewind المؤشر إلى بداية الملف الحالي عند بداية المدخلات (input) ويعيد تعيين رقم السطر ARGF.lineno إلى القيمة 0. البنية العامة rewind → 0 القيم المعادة يعاد العدد 0 عند نجاح العملية. أمثلة مثالٌ على استخدام التابع rewind: ARGF.readline #=> "This is line one\n" ARGF.rewind #=> 0 ARGF.lineno #=> 0 ARGF.readline #=> "This is line one\n" انظر أيضًا التابع pos: يعيد موضع المؤشِّر الحالي في الملف الحالي في المجرى ARGF. ...

التابع ARGF.tell في روبي

يعيد التابع tell موضع المؤشِّر الحالي في الملف الحالي في ARGF. البنية العامة tell → Integer القيم المعادة يعاد عدد صحيح (integer) يمثِّل موضع المؤشِّر الحالي بالبايت. أمثلة مثالٌ على استعمال التابع tell: ARGF.pos #=> 0 ARGF.gets #=> "This is line one\n" ARGF.pos #=> 17 انظر أيضًا التابع pos: يعيد موضع المؤشِّر الحالي في الملف الحالي في المجرى ARGF. التابع pos: ينقل عند استدعائه بالشكل pos = position المؤشِّر إلى المكان position (المعطى بالبايت) ...

التابع ARGF.pos في روبي

يعيد التابع pos موضع المؤشِّر الحالي في الملف الحالي في المجرى ARGF. البنية العامة pos → Integer القيمة المعادة يعاد عددٌ صحيحٌ (integer) يمثل موضع المؤشِّر الحالي (بالبايت) في الملف الحالي في المجرى ARGF. أمثلة مثال على استخدام التابع pos: ARGF.pos #=> 0 ARGF.gets #=> "This is line one\n" ARGF.pos #=> 17 انظر أيضًا التابع pos: ينقل عند استدعائه بالشكل pos = position المؤشِّر إلى المكان position (المعطى بالبايت) في المجرى ARGF. التابع fileno: ...

التابع ARGF.eof?‎ في روبي

يتحقق التابع eof?‎ إذا بلغ الملف الحالي نهايته في ARGF؛ أي أنّه لم تعد هناك أي بيانات لقراءتها. ينبغي أن يكون المجرى مفتوحًا من قبل للقراءة، وإلا فسيُطلق الخطأ IOError. البنية العامة eof? → true or false القيم المعادة تعاد القيمة true إن وصل الملف المفتوح حاليًا للقراءة إلى نهايته، أو القيمة false خلاف ذلك. أمثلة مثال على استخدام التابع eof?‎: $ echo "eof" | ruby argf.rb ARGF.eof? ...

التعبير ARGF.lineno = integer في روبي

يعيِّن التابع lineno عند استدعائه بالشكل lineno = integer رقم السطر الحالي للمجرى ARGF ككُل. يضبط المجرى ARGF رقم السطر تلقائيًا أثناء قراءة البيانات، لذلك لن تحتاج إلى تعيينه بنفسك إلا ما ندر. لمعرفة رقم السطر الحالي، استخدم التابع lineno. البنية العامة lineno = integer → integer القيم المعادة يعاد عدد صحيح (integer) يمثل رقم السطر integer الذي ضُبط للمجرى ARGF. أمثلة بعض الأمثلة على استخدام التابع lineno: ARGF.lineno #=> 0 ARGF.readline #=> ...

التعبير ARGF.pos = position في روبي

ينقل التابع pos عند استدعائه بالشكل pos = position المؤشِّر إلى المكان position (المعطى بالبايت) في المجرى ARGF. البنية العامة pos = position → Integer القيمة المعادة يعاد عددٌ صحيحٌ (integer) يمثِّل الموضع position الذي انتقل إليه الموشِّر في المجرى ARGF. أمثلة مثالٌ على استخدام التعبير pos = position: ARGF.pos = 17 ARGF.gets #=> "This is line two\n" انظر أيضًا التابع pos: يعيد موضع المؤشِّر الحالي في الملف الحالي في المجرى ARGF. التابع fileno: يعيد عددًا صحيحًا يمثل واصف ...

المزخرفات في TypeScript

مقدمة مع إضافة الأصناف إلى TypeScript ونسخة ES6، فقد ظهرت كذلك حاجةٌ إلى ميزات إضافية لدعم تعديل الأصناف وعناصر الأصناف أو توصيفها (annotating). توفّر المزخرفات (Decorators) طريقة لإضافة توصيفات وبنية برمجة وصفيّة (meta-programming) لتصريحات الأصناف وعناصرها. المزخرفات حاليًّا اقتراح في المرحلة 2 (stage 2 proposal) في JavaScript وهي متوفّرة كميّزة تجريبيّة في TypeScript. ملاحظة: المزخرفات ميّزة تجريبيّة قد تتغيّر في النسخ الجديدة مستقبلًا. لتفعيل الدعم التجريبي للمزخرفات، عليك تفعيل خيار المترجم ‎experimentalDecorators‎ إما على سطر الأوامر أو في ملفّ ‎tsconfig.json‎ ...

تنفيذ الأوامر في Bash

عام تحدد bash نوع البرنامج الذي يتم تنفيذه، وتكون البرامج هنا عادة أوامر للنظام في صورة مُجمّعة (compiled) على جهازك. وحين يتم تنفيذ أحد تلك البرامج، فإن bash تنشئ نسخة من نفسها، وتولد عملية جديدة بناء على ذلك، ويدعى ذلك الإجراء بالاشتقاق (forking). وتلك العملية الفرعية لديها نفس بيئة العملية الأصلية، ولا تختلفان إلا في رقم معرّف العملية (Process ID Number) لكل منهما. وتحِل بيانات العملية الجديدة محِل مساحة العنوان (address space) بعد الاشتقاق ، ويتم ذلك الإجراء من خلال ...

أنواع المتغيرات في Bash

التعيين العام للقيَم لم نركز كثيرًا في الشرح السابق لصدفة Bash على أنواع المتغيرات التي كنا نعيِّنها لأن Bash تستطيع التعامل مع أنواع متعددة من المتغيرات والمعامِلات، ونتيجة لذلك فإن متغيراتنا يمكنها احتواء أي نوع نختاره من البيانات، انظر المثال التالي للتوضيح: [hsoub in ~] VARIABLE=12 [hsoub in ~] echo $VARIABLE 12 [hsoub in ~] VARIABLE=string [hsoub in ~] echo $VARIABLE string وستكون حالات تريد فيها تجنب هذا السلوك من المثال السابق حين تتعامل مع أرقام الهواتف وغيرها مثلًا، وقد تحتاج أن تحدد متغيرًا ثابتًا (Constant ...

البُنى الشرطية في Bash

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

المهام التكرارية في Bash

ستتعلم في هذا القسم كيف يمكن للأوامر المتكررة أن تندمج في حلقات تكرارية، وكيف تُبنى الحلقات التكرارية باستخدام عبارات for أو while أو until إحداها أو جميعها معًا، فحلقة for تنفذ مهمة ما عددًا محددًا من المرات، وإن كنت لا تعرف كم عدد مرات تنفيذ الأمر فاستخدم عبارة until أو while لتحديد متى يجب أن تتوقف الحلقة. ويمكن مقاطعة الحلقات أو إعادة تكرارها باستخدام عبارتي break و continue، كما يمكن استخدام ملف كمُدخَل لحلقة عبر معامل إعادة توجيه المدخلات، كذلك ...

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

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

التعابير النمطية في Bash

يلقي هذا الباب الضوء على المزايا المُضمَّنة في Bash لمطابقة الأنماط (patterns) والتعرف على فئات المحارف ومداها. إضافة إلى تفصيل للتعابير النمطية (Regular Expressions)، إذ هي أدوات قوية لاختيار أسطر بعينها من ملفات أو من مُخرج ما، وتستخدمها أوامر كثيرة في يونكس مثل vim و perl وقاعدة بيانات PotgreSQL وغيرها، كما يمكن إضافتها في أي لغة أو تطبيق باستخدام مكتبات خارجية، بل قد تجدها في أنظمة غير أنظمة يونكس، إذ يستخدمها برنامج Excel للجداول الذي يأتي في حزمة مكتب ويندوز. ...

التقاط الإشارات في Bash

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

حلقة while في Bash

كيفية عمل حلقة while تسمح حلقة while التكرارية بالتنفيذ المتكرر لقائمة أوامر طالما أن الأمر المتحكم في حلقة while يُنفَّذ بنجاح (حالة خروجه صفر). والبنية اللغوية لهذه الحلقة هي: while CONTROL-COMMAND; do CONSEQUENT-COMMANDS; done حيث يرمز CONTROL-COMMAND -وهو الأمر الذي سيتحكم في الحلقة- إلى أي أمر يخرج بحالة فشل أو نجاح، بينما قد تكون CONSEQUENT-COMMANDS -وهي الأوامر التي ستُكرَّر- أي برنامج أو برنامج للصدفة أو أحد بُنى الصدفة المختلفة. وتخرج الحلقة فور فشل الأمر المتحكِّم فيها، وإن كانت الحلقة في برنامج ...

مقدمة إلى الدوال في Bash

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

العمليات على المتغيرات في 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}$ إن لم ...

التعامل مع نظام الملفات في Node.js

الاستقرار: 2 - مستقر توفِّر الوحدة fs‎ واجهةً برمجيةً للتعامل مع نظام الملفات بطريقة قريبة جدًا من دوال POSIX القياسية. يمكن الوصول إلى هذه الوحدة باستعمال الأمر التالي: const fs = require('fs'); جميع عمليات نظام الملفات لها أشكال متزامنة وغير متزامنة. تأخذ الأشكال المتزامنة دالة رد نداء مكملة دومًا وتُمرَّر إليها كآخر وسيط. تعتمد الوسائط المُمرَّرة إلى دالة رد النداء المكملة تلك على التابع نفسه، ولكن الوسيط الأول فيها محجوزٌ دومًا للاستثناء. إن اكتملت العملية بنجاح، فستكون قيمة هذا الوسيط null‎ ...

التابع IO.advise‎ في روبي

يعلن التابع advise عن نية الوصول إلى بيانات الملف الحالي وفق نمط محدد. في أنظمة التشغيل التي لا تدعم استدعاء النظام posix_fadvise(2)‎، هذا التابع سيكون عمليةً فارغةً (no-op). المقصود بـ "البيانات" هي الحيز من الملف الحالي الذي يبدأ عند الإزاحة offset (انظر قسم البينة العامة) ويمتد حتى len بايت. إن كان len يساوي 0، فسينتهي الحيّز عند البايت الأخير من الملف. افتراضيًّا، كلا الوسيطين offset و len يساويان 0، أي أن النصيحة تنطبق على الملف بأكمله. في حالة حدوث خطأ، سيُطلَق ...

التابع IO.write_nonblock‎ في روبي

يكتب التابع write_nonblock السلسلة النصية المُمرَّرة إليه في المجرى الذي استُدعي معه باستخدام استدعاء النظام write(2)‎ بعد تعيين قيمة الراية O_NONBLOCK الخاصة بواصف الملف (file descriptor) الأساسي. يستدعي التابع write_nonblock استدعاء النظام write(2)‎. ويتسبب في كافة الأخطاء التي يتسبب فيها استدعاء النظام write(2)‎، مثل Errno::EWOULDBLOCK و Errno::EINTR وغيرهما. قد تكون النتيجة أصغر من طول السلسلة النصية (أي أن الكتابة جزئية). لذا يجب أن يعالج المستدعي هذه الأخطاء، إضافة إلى مسألة الكتابة الجزئية. إن كان الاستثناء يساوي Errno::EWOULDBLOCK أو Errno::EAGAIN، فسيتم توسيعه ...

التابع ARGF.seek في روبي

يحرِّك التابع seek المؤشِّر الحالي في المجرى ARGF إلى موقع محدد. البنية العامة seek(amount, whence=IO::SEEK_SET) → 0 المعاملات amount قيمة إزاحة موقع المؤشِّر بالبايت. إن أردت تحريك المؤشِّر انطلاقًا من نهاية الملف، فمرِّر قيمة سالبة للمعامل amount ثمَّ حدِّد القيمة ‎:END أو IO::SEEK_END للمعامل whence. whence قيمة هذا المعامل هي إحدى القيم التالية: ‎:SET أو IO::SEEK_SET: تغيير موقع المؤشِّر إلى قيمة المعامل amount المعطاة بالبايت انطلاقًا من البداية. ‎:CUR أو IO::SEEK_CUR: تغيير موقع المؤشِّر إلى قيمة المعامل amount المعطاة بالبايت ...

الصنف File في روبي

الصنف File هو اختصار لأي كائن ملفٍ قابل للوصول عبر البرنامج ومرتبط عن كثب بالصنف IO. يتضمن الصنف File توابع الوحدة FileTest كتوابع صنفٍ مما يسمح لك باستعمال File.exist?("foo")‎ مثلًا. في شرح توابع الصنف File التالية، تكون بتات الأذونات (permission bits) مجموعة من البتات التي تعتمد على المنصة المستعملة والتي تشير إلى أذونات الملف. في الأنظمة الشبيهة بيونكس، تُعرض الأذونات على شكل مجموعة من ثلاثة ثمانيات (octets)؛ الأولى من أجل المالك، والثانية من أجل المجموعة المالكة، والثالثة تخص الأشخاص الآخرين. ...

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

(PHP 4, PHP 5, PHP 7) تقرأ الدالة file()‎ الملف ثمَّ تضع كلَّ محتوياته في مصفوفة. الوصف array file ( string $filename [, int $flags = 0 [, resource $context]] ) تعيد هذه الدالة مصفوفة تضم كلَّ محتويات الملف filename. ملاحظة: يمكنك استعمال الدالة file_get_contents()‎ لجلب كلِّ محتويات الملف ووضعها في سلسلة نصيَّة عوضًا عن مصفوفة. المعاملات filename اسم الملف المراد جلب محتوياته. فائدة: يمكن استعمال عنوان URL عوضًا عن اسم الملف مع المعامل filename شرط أن يُفعَّل الضبط "fopen wrapper". ...

الصنف ARGF في روبي

الصنف ARGF هو مجرى (stream) صُمِّم ليُستخدَم في الملفات البرمجية (scritps) التي تُعالج الملفات المُمرَّرة إليها على شكل وسائط في سطر الأوامر (command-line arguments)، أو المُمرَّرة عبر مجرى الدخل القياسي (STDIN). تُخزَّن الوسائط المُمرَّرة للملف البرمجي في المصفوفة ARGV، إذ يخزَّن وسيط واحد في كل عنصر. تفترض ARGF أنّ الوسائط التي ليست أسماء ملفات (filenames) قد أزيلت من ARGV. انظر الشيفرة التالية مثلًا: $ ruby argf.rb --verbose file1 file2 ARGV #=> ["--verbose", "file1", "file2"] option = ARGV.shift #=> "--verbose" ARGV #=> ...

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

يستدعي التابع select دالة النظام select(2)‎، إذ يعمل على مراقبة المصفوفات الكائنات IO المعطاة، وينتظر حتى يصبح أحد تلك الكائنات أو أكثر جاهزًا للقراءة، وجاهزًا للكتابة، ومالكًا لاستثناءات معلقة (pending exceptions) على التوالي، ثم يعيد مصفوفة تحتوي على مصفوفات مكونة من الكائنات IO السابقة. سيعيد التابع القيمة nil إذا تم إعطاء قيمة للمهلة الزمنية timeout، ولم يكن هناك أي كائن جاهز خلال هذه الفترة. يراقب التابع IO.select المخزن المؤقت (buffer) للكائنات IO لاختبار قابليتها للقراءة. إذا لم يكن المخزن المؤقت ...

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

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

التعابير النمطية وأمثلة عن استخدام grep

التعابير النمطية Regular Expressions التعبير النمطي (Regular Expression) هو أسلوب يصف مجموعة من النصوص (strings)، وتُبنى تلك التعابير النمطية بشكل تناظري للتعابير الحسابية (arithmetic expressions) باستخدام عدة معامِلات لدمج التعابير الأصغر. وأصغر وحدة بنائية للتعابير النمطية هي تلك التي تطابق محرفًا واحدًا، ذلك أن أغلب المحارف -بما في ذلك كل الحروف والأرقام- ما هي إلا تعابير نمطية تطابق أنفسها، ويمكن اقتباس أي محرف خاص (metacharacter) له معنىً خاص بسبْقِه بشرطة مائلة خلفية \. المحارف الخاصة للتعابير النمطية يمكن إتْباع التعبير ...

التابع IO.write‎ في روبي

يكتب التابع write السلاسل النصية المُمرَّرة إليه في المجرى الذي استدعي معه. يجب أن يكون المجرى مفتوحا في وضعية للكتابة. سيتم تحويل الوسائط غير النصية إلى سلسلة نصية باستخدام التابع to_s. البنية العامة write(string, ...) → integer‎ المعاملات string‎ سلسلة نصية يراد كتابتها في المجرى المعطى. القيمة المعادة تعاد عدد البايتات المكتوبة في المجرى. أمثلة مثال على استخدام التابع write‎: count = $stdout.write("This is", " a test\n") puts "That was #{count} bytes of data"‎ الناتج: This is a test That was 15 bytes of ...

التابع IO.readchar‎ في روبي

يقرأ التابع readchar محرفًا واحدًا من المجرى الذي استدعي معه. البنية العامة readchar→ string‎ القيمة المعادة تعاد سلسلة نصية مؤلفة من محرف واحد قُرِئ من المجرى المعطى، أو يطلق الاستثناء EOFError عند نهاية الملف. أمثلة مثال على استخدام التابع readchar‎: f = File.new("testfile") f.readchar #=> "h" f.readchar #=> "e"‎ انظر أيضًا التابع putc: يكتب المحرف المُمرَّر إليه في المجرى الذي استدعي معه. التابع read: يقرأ عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه. التابع read_nonblock: يقرأ عددًا محدَّدًا من ...

التابع IO.readbyte‎ في روبي

يقرأ التابع readbyte بايتًا واحدًا من المجرى الذي استدعي معه. يشبه هذا التابع التابع getbyte، باستثناء أنَّه يُطلق الاستثناء EOFError إن استدعي عند نهاية الملف. البنية العامة readbyte→ integer‎ القيمة المعادة يعاد عدد صحيح يمثِّل قيمة البايت المقروء من المجرى المعطى، أو يطلق الاستثناء EOFError عند الوصول إلى نهاية الملف. انظر أيضًا التابع putc: يكتب المحرف المُمرَّر إليه في المجرى الذي استدعي معه. التابع read: يقرأ عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه. التابع read_nonblock: يقرأ عددًا محدَّدًا من البايتات ...

المزيد حول المتغيرات في Bash

يمكن للمتغير أن يحتوي أي نوع من البيانات ما لم يُصرح بخلاف ذلك بوضوح، وتُضبط المتغيرات الساكنة (Constant Variables) باستخدام أمر readonly. وتحتوي المصفوفة على مجموعة من المتغيرات، وإن صُرح بنوع معين من البيانات لتلك المصفوفة فإن جميع العناصر داخلها ستُضبط على احتواء ذلك النوع فقط من البيانات. كذلك تسمح مزايا Bash بإحلال وتحويل المتغيرات بسرعة، وتتضمن العمليات القياسية حساب طول المتغير والتوسعات الحسابية عليه وإحلال محتواه أو جزء من محتواه. أنواع المتغيرات في Bash شرح للقيم العامة للمتغيرات والمتغيرات ...

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

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

الصنف Dir في روبي

كائنات الصنف Dir هي مجاري مجلدات (directory streams) تمثِّل الجلدات في نظام الملفات الأساسي لنظام التشغيل. فهي توفر طرائق متعددة لعرض المجلدات ومحتوياتها. انظر أيضًا صفحة الصنف File لمزيد من المعلومات. يحوي المجلد المستخدم في الأمثلة الموجودة في صفحات التوابع ملفين عاديين هما: config.h و main.rb، بالإضافة إلى المجلد الأب (..) ، والمجلد نفسه (.). توابع الصنف العامة (Public Class Methods) المعامل [] يكافئ استدعاء Dir.glob([string,...], 0)‎.  chdir‎ يغيِّر مجلد العمل (working directory) الحالي للعملية الحالية إلى مجلَّدٍ محدَّدٍ. children ...

التابع IO.select‎ في روبي

يستدعي التابع select استدعاء النظام select(2)‎. ويراقب المصفوفة المعطاة المكونة من مجاري د/خ (كائنات IO)، وينتظر حتى يكون واحد أو أكثر من تلك المجاري جاهزًا للقراءة، وجاهزًا للكتابة، ويكون له استثناءات معلقة (pending exceptions) على التوالي، ثم يعيد مصفوفة مؤلفة من مصفوفات مكونة من تلك المجاري. ستعاد القيمة nil إذا تم إعطاء قيمة للمعامل timeout الاختياري (انظر فقرة البنية العامة)، ولم يكن أيٌّ من مجاري د/خ جاهزًا خلال تلك المهلة الزمنية. يراقب التابع select المخزن المؤقت (buffer) لمجرى د/خ لاختبار قابليته ...

Object.getOwnPropertyDescriptors()‎

الدالة Object.getOwnPropertyDescriptors()‎ تُعيد واصفات جميع الخاصيات التابعة لكائنٍ ما مباشرةً (أي أنها معرَّفة في الكائن نفسه، وليس في سلسلة prototype). البنية العامة Object.getOwnPropertyDescriptors(obj) obj الكائن الذي نريد الحصول على واصفات جميع خاصياته. القيمة المعادة كائن يحتوي على واصفات جميع الخاصيات التابعة للكائن، وقد يكون هذا الكائن فارغًا لم لم يملك الكائن المعني أيّة خاصيات. الوصف تسمح لنا هذه الدالة بالحصول على الوصف الدقيق لجميع خاصيات الكائن؛ وتتألف الخاصيات في JavaScript من سلسلة نصية تُشكِّل اسم الخاصية وواصف لتلك الخاصية؛ لمزيدٍ ...

الصنف IO في روبي

الصنف IO هو أساس كل عمليات الإدخال والإخراج في روبي. مجرى الدخل/الخرج (I/O stream) قد يكون مزدوج الاتجاه (duplexed، أي في اتجاهين)، وبذلك قد يُستخدَم أكثر من مجرى واحد من مجاري نظام التشغيل. الكثير من الأمثلة الواردة في في هذا القسم تستخدم الصنف File، وهو االصنف الفرعي (subclass) القياسي الوحيد للصنف IO، إذ يرتبط الصنفان ارتباطًا وثيقًا. مثل الصنف File، فإنّ المكتبة Socket تشتق أصنافًا فرعيةً من الصنف IO (مثل TCPSocket أو UDPSocket). يمكن أن ينشئ التابع Kernel.open كائنات من ...

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

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

Object.getOwnPropertyDescriptor()‎

الدالة Object.getOwnPropertyDescriptor()‎ تُعيد واصف إحدى الخاصيات التابعة لكائنٍ ما مباشرةً (أي أنها معرَّفة في الكائن نفسه، وليس في سلسلة prototype). البنية العامة Object.getOwnPropertyDescriptor(obj, prop) obj الكائن الذي نريد الحصول على واصف إحدى خاصياته. prop اسم الخاصية التي نريد الحصول على واصفها. القيمة المعادة واصف الخاصية (property descriptor) المعطاة إن كانت موجودةً في الكائن، أو القيمة undefined فيما عدا ذلك. الوصف تسمح لنا هذه الدالة بالحصول على الوصف الدقيق لإحدى خاصيات الكائن؛ وتتألف الخاصيات في JavaScript من سلسلة نصية تُشكِّل اسم ...

عرض رسائل المستخدم في Bash

برامج تفاعلية أم غير تفاعلية؟ تعمل بعض برامج الصدفة (shell scripts) دون أي تدخل من المستخدم ويطلق عليها برامج غير تفاعلية، ومن بعض مزايا تلك البرامج أنها تعمل بشكل متوقع في كل مرة، ويمكنها العمل في الخلفية أيضًا. لكن باقي برامج الصدفة تحتاج إدخالًا من المستخدم أو تحتاج أن تطبع رسائل للمستخدم أثناء عملها، ولذلك النوع من البرامج مزايا كذلك، إذ يمكن بناء برامج أكثر مرونة، ويمكن للمستخدم تخصيص البرنامج أثناء تشغيله أو جعله يتصرف بأشكال مختلفة، كما يمكن للبرنامج ...

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

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

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

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

التابع TarFile.gettarinfo()‎‎ في بايثون

ينشئ التابع كائن TarInfo من نتيجة استدعاء الدالة os.stat()‎ أو ما يكافئها على ملف موجود فعلًا. البنية العامة TarFile.gettarinfo(name=None, arcname=None, fileobj=None) المعاملات ‎name يمكن تسمية الملف عن طريق تمرير الاسم في المعامل name أو باستخدام كائن fileobj مع واصف للملف. ويمكن للمعامل name أن يكون كائنًا شبيهًا بالمسارات. arcname معامل اختياري يعيّن اسمًا بديلًا للملف في الأرشيف، وفي حال عدم تحديد قيمة لهذا المعامل يأخذ الملف اسمه من خاصية name في كائن الملف fileobj، أو من المعامل name. يجدر التنبيه ...

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

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

Object.defineProperty()‎

الدالة Object.defineProperty()‎ تُعرِّف خاصيةً جديدةً على كائنٍ مباشرةً، أو تُعدِّل خاصية موجودةً مسبقًا في كائنٍ ثم تُعيد هذا الكائن. البنية العامة Object.defineProperty(obj, prop, descriptor) obj الكائن الذي نريد تعريف الخاصية فيه. prop اسم الخاصية التي نريد تعريفها أو تعديلها. descriptor واصف الخاصية (property descriptor) التي ستُضاف أو تُعدَّل. القيمة المعادة الكائن الذي مُرِّرَ إلى الدالة. الوصف هذه الدالة تسمح بإضافة أو تعديل خاصية من خاصيات كائنٍ ما بدقة، إذ إنَّ إضافة الخاصيات عبر معامل الإسناد سيُنشِئ خاصياتٍ تظهر عند إحصاء ...

التابع IO.readline‎ في روبي

يقرأ التابع readline سطرًا واحدًا من المجرى الذي استدعي معه. هذا التابع يشبه التابع gets باستثناء أنَّه يُطلق الاستثناء EOFError عند نهاية الملف. البنية العامة readline(sep=$/ [, getline_args]) → string readline(limit [, getline_args])→ string readline(sep, limit [, getline_args]) → string‎ المعاملات sep‎ محرف يمثِّل الفاصل السطري. القيمة الافتراضية هي: /$. limit‎ عدد صحيح يحدد حجم البيانات الأقصى (بالبايت) المراد قراءتها. getline_args راجع صفحة readlines لمزيد من التفاصيل حول هذا المعامل. القيمة المعادة تعاد سلسلة نصية تحوي السطر الذي قُرِئ من المجرى المعطى، أو يطلق ...

التابع File::Stat.setuid?‎ في روبي

يتحقق التابع setuid?‎ إن كان البت uid (بت معرِّف المستخدم المالك) مضبوطًا للملف الذي يشير إليه الكائن File::Stat المعطى. البنية العامة setuid? → true or false القيمة المعادة تعاد القيمة true إن كان البت uid (بت معرِّف المستخدم المالك) مضبوطًا للملف الذي يشير إليه الكائن File::Stat، أو تعاد القيمة false إن لم يكن ذلك البت مضبوطًا أو لم يكن نظام التشغيل يدعم هذه الميزة. أمثلة مثال على استعمال التابع setuid?‎: File.stat("/bin/su").setuid? #=> true انظر أيضًا التابع executable?‎: يتحقق إن كان الملف الذي يشير إليه ...

التابع File::Stat.writable?‎ في روبي

يتحقق التابع writable?‎ إن كان الملف الذي يشير إليه الكائن File::Stat المعطى قابلًا للكتابة من طرف مُعرِّف المستخدم الفعلي للعملية الحالية. البنية العامة writable? → true or false القيمة المعادة تعاد القيمة true إن كان الملف الذي يشير إليه الكائن File::Stat المعطى قابلًا للكتابة من طرف مُعرِّف المستخدم الفعلي للعملية الحالية. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع writable?‎: انظر أيضًا التابع readable?‎: يتحقق إن كان الملف الذي يشير إليه الكائن File::Stat المعطى قابلًا للقراءة من طرف ...

التابع File::Stat.executable_real?‎ في روبي

يشبه التابع executable_real?‎ التابع executable?‎ تمامًا باستثناء أنه يجري عملية التحقق باستعمال المعرِّف الحقيقي لمالك العملية. البنية العامة executable_real? → true or false القيمة المعادة تعاد القيمة true إن كان الملف الذي يشير إليه الكائن File::Stat المعطى قابلًا للتنفيذ أو إن كان نظام التشغيل لا يفرِّق بين الملفات القابلة للتنفيذ من الملفات الغير قابلة للتنفيذ. خلا ذلك، تعاد القيمة false. انظر أيضا التابع executable?‎: يتحقق إن كان الملف الذي يشير إليه الكائن File::Stat الذي استدعي معه قابلًا للتنفيذ أو إن كان نظام ...

التابع File::Stat.ctime في روبي

يعيد التابع ctime وقت آخر تغيير أجري على الملف الذي استدعي معه. يشير وقت التغيير هذا إلى الزمن الذي تغيرت فيه معلومات المجلد حول الملف وليس الملف نفسه. البنية العامة ctime → aTime القيمة المعادة يعاد كائن من النوع Time يمثِّل وقت آخر تغيير جرى للمعلومات حول الملف المعطى. في أنظمة ويندوز (أي أنظمة الملفات NTFS)، يعاد وقت إنشاء الملف وليس وقت التغيير. أمثلة مثال على استعمال التابع ctime: File.stat("testfile").ctime #=> Wed Apr 09 08:53:14 CDT 2003 انظر أيضًا التابع atime: يعيد زمن ...

التابع File::Stat.gid في روبي

يعيد التابع gid المعرِّف الرقمي للمجموعة المالكة للملف الذي يشير إليه الكائن File::Stat المعطى. البنية العامة gid → integer القيمة المعادة يعاد عدد صحيح يمثِّل المعرِّف الرقمي للمجموعة المالكة للملف الذي يشير إليه الكائن File::Stat المعطى. أمثلة مثال على استعمال المعامل gid: File.stat("testfile").gid #=> 500 انظر أيضا التابع uid: يعيد المعرِّف الرقمي للمستخدم المالك للملف الذي يشير إليه الكائن File::Stat المعطى. التابع birthtime: يعيد وقت إنشاء الملف الذي استدعي معه. التابع blocks: يعيد عدد كتل نظام الملفات المحجوزة للملف ...

التابع File::Stat.directory?‎ في روبي

يتحقق التابع directory?‎ إن كان ملفٌ ما مجلَّدًا أو وصلةً رمزيًّةً تشير إلى مجلدٍ. البنية العامة directory?(file_name) → true or false المعاملات file_name اسم الملف المراد التحقق منه. يمكن أن يكون كائنًا من النوع IO. القيمة المعادة تعاد القيمة true إن كان ملفٌ ما مجلَّدًا أو وصلةً رمزيًّةً تشير إلى مجلدٍ. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع directory?‎: File.directory?(".") انظر أيضا التابع blockdev?‎: يتحقق إن كان ملفٌ ما هو جهاز كتلي (block device). التابع chardev?‎: يتحقق إن كان ملفٌ ما هو جهاز ...

التابع File::Stat.dev في روبي

يعيد التابع dev عددًا صحيحًا يمثِّل الجهاز الذي يتواجد فيه الكائن File::Stat الذي استدعي معه. البنية العامة dev → integer القيمة المعادة يعاد عدد صحيح يمثِّل الجهاز الذي يتواجد فيه الكائن File::Stat المعطى. أمثلة مثال على استعمال التابع dev: File.stat("testfile").dev #=> 774 انظر أيضًا التابع dev_major: يعيد عددًا صحيحًا يمثِّل الجزء الكبير (major part) من dev، أو يعيد القيمة nil. التابع dev_minor: يعيد عددًا صحيحًا يمثِّل الجزء الصغير (minor part) من dev، أو يعيد القيمة nil. التابع rdev: يعيد ...

التابع File::Stat.mode في روبي

يعيد التابع mode عددًا صحيحًا يمثِّل بتات الأذونات للملف الذي يشير إليه الكائن File::Stat المعطى. البنية العامة mode → integer القيمة المعادة يعاد عدد صحيح يمثِّل بتات الأذونات للملف الذي يشير إليه الكائن File::Stat المعطى. أمثلة مثال على استعمال التابع mode: File.chmod(0644, "testfile") #=> 1 s = File.stat("testfile") sprintf("%o", s.mode) #=> "100644" انظر أيضًا التابع ctime: يعيد وقت آخر تغيير أجري على الملف الذي استدعي معه. التابع gid: يعيد المعرِّف الرقمي للمجموعة ...

التابع File::Stat.size?‎ في روبي

يتحقق التابع size?‎ إن كان الملف الذي يشير إليه الكائن File::Stat المعطى غير موجود أو معدوم الحجم. إن كان الملف موجودًا وله حجم ما، فسيعيد التابع حجم هذا الملف. البنية العامة size? → Integer or nil القيمة المعادة تعاد القيمة nil إن كان الملف الذي يشير إليه الكائن File::Stat المعطى غير موجود أو معدوم الحجم. إن كان الملف موجودًا وله حجم ما، فسيعاد عدد صحيح يمثِّل حجم هذا الملف. انظر أيضًا التابع size: يعيد حجم الملف الذي يشير إليه الكائن File::Stat المعطى. ...

التابع File::Stat.rdev_major في روبي

يعيد التابع rdev_major عددًا صحيحًا يمثِّل الجزء الكبير (major part) من rdev، أو يعيد القيمة nil. البنية العامة rdev_major → integer القيمة المعادة يعاد عدد صحيح يمثِّل الجزء الكبير (major part) من rdev، أو تعاد القيمة nil. أمثلة مثال على استعمال التابع rdev_major: File.stat("/dev/fd1").rdev_major #=> 2 File.stat("/dev/tty").rdev_major #=> 5 انظر أيضًا التابع dev_major: يعيد عددًا صحيحًا يمثِّل الجزء الكبير (major part) من dev، أو يعيد القيمة nil. التابع rdev: يعيد عددًا صحيحًا يمثِّل نوع الجهاز الذي يتواجد فيه ...

التابع File::Stat.blockdev?‎ في روبي

يتحقق التابع blockdev?‎ إن كان ملفٌ ما هو جهاز كتلي (block device). البنية العامة blockdev? → true or false القيمة المعادة تعاد القيمة true إن كان الملف المعطى هو جهاز كتلي (block device)، أو تعاد القيمة false إن لم يكن الملف جهازًا كتليًّا أو لم تكن منصة التشغيل تدعم هذه الميزة. أمثلة مثال على استعمال التابع blockdev?‎: File.stat("testfile").blockdev? #=> false File.stat("/dev/hda1").blockdev? #=> true انظر أيضا التابع chardev?‎: يتحقق إن كان ملفٌ ما هو جهاز محرفي (character device). مصادر قسم التابع blockdev?‎ في ...

التابع File::Stat.rdev في روبي

يعيد التابع rdev عددًا صحيحًا يمثِّل نوع الجهاز الذي يتواجد فيه الكائن File::Stat الذي استدعي معه. البنية العامة rdev → integer or nil القيمة المعادة يعاد عدد صحيح يمثِّل نوع الجهاز الذي يتواجد فيه الكائن File::Stat الذي استدعي معه، أو تعاد القيمة nil إن كان نظام التشغيل لا يدعم هذه الميزة آنذاك. أمثلة مثال على استعمال التابع rdev: File.stat("/dev/fd1").rdev #=> 513 File.stat("/dev/tty").rdev #=> 1280 انظر أيضًا التابع dev: يعيد عددًا صحيحًا يمثِّل الجهاز الذي يتواجد فيه الكائن File::Stat ...

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