نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
إنشاء وتشغيل برنامج Bash
الكتابة والتسمية إن كان لديك سلسلة أوامر تنفذها بشكل متكرر وتريد اختصار وقت تنفيذها أو تنفيذها بشكل آلي، فيمكنك وضعها في ملف فارغ يكتب بصيغة معينة وتقرؤه الصدفة على أنه برنامج تنفذه عند استدعاءه بكتابة اسم الملف الذي يحويه، وتسمى تلك البرامج ببرامج الصدفة أو شيفرات الصدفة النصية (Shell Scripts). ويمكن استخدام تلك البرامج لأتمتة المهام باستخدام أداة cron أو في إجراءات الإقلاع وإيقاف التشغيل في أنظمة يونكس، حيث يُحدَّد أسلوب عمل العفاريت (daemons) والخدمات في شيفرات init النصية (init ...
تنقيح برامج Bash
التنقيح على مستوى البرنامج ككل حين تحدث مشكلة في البرنامج الذي كتبته فإنك في حاجة إلى وضع يدك على مكان المشكلة بالتحديد داخل الشيفرة، وتوفر Bash مزايا تنقيح شاملة لعل أشهرها هو بدء صدفة فرعية بخيار x- الذي سيبدأ الصدفة بالكامل في طور التنقيح، وستُطبَع آثار كل أمر إضافة إلى وسائطه (arguments) إلى خَرج قياسي (standard output) بعد توسيع الأوامر لكن قبل تنفيذها. الشيفرة التالية هي لبرنامج commented-script1.sh من مثال أساسيات كتابة برامج Bash، وقد استدعينا الصدفة في طور التنقيح ...
صدفة Bash وبرامج Bash
تعريف بصدفة Bash Bash هي صدفة نظام جنو التي تتوافق مع صدفة بورن وتزيد عليها بعدة مزايا وخصائص مفيدة من باقي الصدفات، وحين تبدأ الصدفة فإنها تقرأ ملفات إعداداتها التي من أهمها ما يلي: etc/profile/ bash_profile./~ bashrc./~ كذلك تتصرف bash بشكل مختلف حين تكون في وضع تفاعلي، وهي متوافقة مع معايير POSIX وبها وضع محظور. ويمكن تقسيم أوامرها إلى ثلاث مجموعات: دوال الصدفة والأوامر المُضمَّنة والأوامر الموجودة داخل مجلد في نظامك. أيضًا، تدعم bash أوامر مضمَّنة أخرى ليست موجودة داخل ...
الدوال في Bash
توفر الدوال طريقة سهلة لتجميع أوامر تحتاج إلى تنفيذها بشكل متكرر، وحين تعمل الدالة فإن المعامِلات الموضعية (positional parameter) تتغير إلى معامِلات الدالة، ثم يعاد ضبط تلك المعاملات بعد توقف الدالة إلى معاملات البرنامج المُستدعِي. وكذلك فإن الدوال تشبه برامج مصغرة (mini-scripts)، ومن ثَمَّ فإنها تولِّد رموز حالة خروج (exit codes) أو رموز حالة إعادة (return codes). مقدمة إلى الدوال في Bash نظرة عامة على الدوال في Bash والبُنى اللغوية لها ومعامِلاتها الموضعية وعرضها في الصدفة. أمثلة عن الدوال في ...
مقدمة إلى if في Bash
قد تحتاج إلى تحديد سلاسل إجراءات مختلفة داخل برامج الصدفة (shell scripts) بناءً على نجاح تنفيذ أمر أو فشله، وتأتي أداة if الشرطية من أجل مثل تلك الحالات، وأصغر بنية لغوية لأمر if هي التالية: if TEST-COMMANDS; then CONSEQUENT-COMMANDS; fi
تُنفَّذ قائمة أوامر الاختبار TEST-COMMANDS، ثم تُنفَّذ قائمة الأوامر التابعة CONSEQUENT-COMMANDS إن كانت حالة الإعادة لها هي صفر. وتكون حالة الإعادة هي حالة خروج آخر أمر تم تنفيذه، أو تكون صفرًا إن لم تتحقق أي حالة من أوامر الاختبار. يتضمن أمر ...
المهام التكرارية في Bash
ستتعلم في هذا القسم كيف يمكن للأوامر المتكررة أن تندمج في حلقات تكرارية، وكيف تُبنى الحلقات التكرارية باستخدام عبارات for أو while أو until إحداها أو جميعها معًا، فحلقة for تنفذ مهمة ما عددًا محددًا من المرات، وإن كنت لا تعرف كم عدد مرات تنفيذ الأمر فاستخدم عبارة until أو while لتحديد متى يجب أن تتوقف الحلقة. ويمكن مقاطعة الحلقات أو إعادة تكرارها باستخدام عبارتي break و continue، كما يمكن استخدام ملف كمُدخَل لحلقة عبر معامل إعادة توجيه المدخلات، كذلك ...
مقدمة إلى الدوال في Bash
ما هي الدوال؟ دوال الصدفة طريقة لتجميع أوامر من أجل تنفيذها لاحقًا باستخدام اسم واحد للمجموعة ككل أو روتين، ويجب أن يكون اسم الروتين فريدًا لا يتكرر في الصدفة أو الشيفرة النصية، وتُنفَّذ كل الأوامر التي تكوِّن الدالة مثل الأوامر العادية تمامًا. تُنفَّذ قائمة الأوامر المرتبطة باسم دالة حين تُستدعى تلك الدالة كأمر بسيط، وتُنفَّذ الدالة داخل الصدفة التي صُرِّح عنها فيها، فلا تُفتح عملية جديدة لتفسير الأوامر. وستظهر الأوامر الخاصة المُضمَّنة قبل دوال الصدفة أثناء البحث عن الأوامر، والأوامر ...
HTML/Topics/Scripting
لإنشاء محتوى تفاعلي في تطبيقات الويب، فتدعم HTML استخدام لغات السكربتات، وخصوصًا JavaScript، وهنالك عدِّة عناصر متوافرة لدعم هذه الإمكانية. العنصر الوصف <canvas> استخدم العنصر <canvas> مع الواجهة البرمجية الخاصة به لترسم الرسومات وتحركها. <noscript> يُعرِّف العنصر <noscript> قسمًا من شيفرات HTML التي ستُضاف إلى الصفحة إذا لم يكن العنصر <script> مدعومًا في المتصفح أو كان استخدام شيفرات JavaScript معطلًا من قِبل المستخدم. <script> تضمين أو الإشارة إلى سكربت قابل للتنفيذ.
حلقة for في Bash
كيفية عمل حلقة for التكرارية حلقة for هي أول وحدة تكرارية في الصدفة من بين ثلاث وحدات، وتسمح تلك الحلقة بتخصيص قائمة من القِيَم، وتُنفَّذ قائمة من الأوامر لكل قيمة من تلك القيم. والبنية اللغوية لهذه الحلقة التكرارية هي كالآتي: for NAME [in LIST ]; do COMMANDS; done
إن لم تكن [ in LIST] موجودة فيتم استبدال @$ in بها، وتنفذ for الأوامر (COMMANDS) مرة واحدة لكل معامل موضعي مضبوط على قيمة، انظر المتغيرات في Bash وفحص وسائط سطر الأوامر. وتكون ...
المتغيرات في 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 -بدون خيارات- لعرض ...