تنقيح برامج Bash

من موسوعة حسوب
< Bash
مراجعة 12:04، 31 يوليو 2018 بواسطة أسامه-دمراني (نقاش | مساهمات) (إضافة محتوى 2.0)
اذهب إلى التنقل اذهب إلى البحث

التنقيح على مستوى البرنامج ككل

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

الشيفرة التالية هي لبرنامج commented-script1.sh من مثال أساسيات كتابة برامج Bash، وقد استدعينا الصدفة في طور التنقيح (debug mode)، لاحظ أن التعليقات المضافة ليست مرئية في خرج البرنامج:

os@inspiron:~/scripts$ bash -x script1.sh
+ clear

+ echo 'The script starts now.'
The script starts now.
+ echo 'Hi, os!'
Hi, os!
+ echo

+ echo 'I will now fetch you a list of connected users:'
I will now fetch you a list of connected users:
+ echo

+ w
 13:46:40 up 24 min,  1 user,  load average: 0.54, 0.33, 0.23
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
os       tty7     :0               13:22   23:56  24.22s  0.21s /usr/li
+ echo

+ echo 'I'\''m setting two variables now.'
I'm setting two variables now.
+ COLOUR=black
+ VALUE=9
+ echo 'This is a string: black'
This is a string: black
+ echo 'And this is a number: 9'
And this is a number: 9
+ echo

+ echo 'I'\''m giving you back your prompt now.'
I'm giving you back your prompt now.
+ echo

os@inspiron:~/scripts$