الفرق بين المراجعتين لصفحة: «Bash/more Bash options»
أسامه-دمراني (نقاش | مساهمات) إدخال 2.0 محتوى وتنسيق |
لا ملخص تعديل |
||
سطر 6: | سطر 6: | ||
hsoub:~> set -o | hsoub:~> set -o | ||
allexport | allexport off | ||
braceexpand | braceexpand on | ||
emacs | emacs on | ||
errexit | errexit off | ||
hashall | hashall on | ||
histexpand | histexpand on | ||
history | history on | ||
ignoreeof | ignoreeof off | ||
interactive-comments on | interactive-comments on | ||
keyword | keyword off | ||
monitor | monitor on | ||
noclobber | noclobber off | ||
noexec | noexec off | ||
noglob | noglob off | ||
nolog | nolog off | ||
notify | notify off | ||
nounset | nounset off | ||
onecmd | onecmd off | ||
physical | physical off | ||
posix | posix off | ||
privileged | privileged off | ||
verbose | verbose off | ||
vi | vi off | ||
xtrace | xtrace off | ||
</syntaxhighlight>انظر صفحات دليل <code>info</code> > قسم أوامر الصدفة المُضمَّنة > أمر <code>Set</code>، من أجل مزيد من التفصيل عن كل خيار، إذ ستجد أن كثيرًا من الخيارات بها اختزال وحيد المحرف (one-character)، فمثلًا خيار <code>xtrace</code> يساوي تحديد <code>set -x</code>. | </syntaxhighlight>انظر صفحات دليل <code>info</code> > قسم أوامر الصدفة المُضمَّنة > أمر <code>Set</code>، من أجل مزيد من التفصيل عن كل خيار، إذ ستجد أن كثيرًا من الخيارات بها اختزال وحيد المحرف (one-character)، فمثلًا خيار <code>xtrace</code> يساوي تحديد <code>set -x</code>. | ||
مراجعة 11:20، 4 سبتمبر 2018
ناقشنا بعض خيارات صدفة Bash التي قد تفيدك في تنقيح برامج Bash، وسننظر الآن في مزيد من تلك الخيارات بتفصيل أكثر.
عرض الخيارات
استخدم خيار o-
لأمر set
لعرض كل خيارات الصدفة:
hsoub:~> set -o
allexport off
braceexpand on
emacs on
errexit off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
posix off
privileged off
verbose off
vi off
xtrace off
انظر صفحات دليل info
> قسم أوامر الصدفة المُضمَّنة > أمر Set
، من أجل مزيد من التفصيل عن كل خيار، إذ ستجد أن كثيرًا من الخيارات بها اختزال وحيد المحرف (one-character)، فمثلًا خيار xtrace
يساوي تحديد set -x
.
تغيير الخيارات
يمكن ضبط خيارات الصدفة بشكل مختلف عند استدعاء الصدفة عن الشكل الافتراضي، أو يمكن ضبطها أثناء عمل الصدفة، كذلك قد توضع تلك الخيارات في ملفات إعدادات موارد الصدفة (shell resource configuration files). ينفِّذ الأمر التالي برنامجًا في وضع التوافق مع POSIX
:
hsoub:~/scripts> bash --posix script.sh
لتغيير البيئة الحالية بشكل مؤقت أو للاستخدام داخل برنامج نصي، استخدم أمر set
. وإن أردت تفعيل خيار فاسبقه بشرطة -
، أما إن أردت تعطيله فاسبقه بعلامة الموجب +
:
hsoub:~/test> set -o noclobber
hsoub:~/test> touch test
hsoub:~/test> date > test
bash: test: cannot overwrite existing file
hsoub:~/test> set +o noclobber
hsoub:~/test> date > test
يعرض المثال السابق خيار noclobber
الذي يمنع عمليات إعادة التوجيه من إلغاء الملفات الحالية، وكذلك الأمر بالنسبة للخيارات وحيدة المحرف (one-character)، مثل u-
الذي سيعامل المتغيرات التي أُلغي ضبطها على أنها أخطاء حين تُضبط، ويغلق الصدفة إن كانت غير تفاعلية عند حدوث تلك الأخطاء.
hsoub:~> echo $VAR
hsoub:~> set -u
hsoub:~> echo $VAR
bash: VAR: unbound variable
هذا الخيار مفيد في التقاط التعيينات الخاطئة للمحتوى إلى المتغيرات، إذ سيحدث نفس الخطأ مثلًا عند تعيين نص محرف (character string) إلى متغير صُرِّح بوضوح أنه يحمل قيَمًا لأعداد صحيحة فقط. مثال آخر يعرض خيار noglob
الذي يمنع توسع المحارف الخاصة:
hsoub:~/testdir> set -o noglob
hsoub:~/testdir> touch *
hsoub:~/testdir> ls -l *
-rw-rw-r-- 1 hsoub hsoub 0 Feb 27 13:37 *