تنقيح برامج Bash
< Bash
التنقيح على مستوى البرنامج ككل
حين تحدث مشكلة في البرنامج الذي كتبته فإنك في حاجة إلى وضع يدك على مكان المشكلة بالتحديد داخل الشيفرة، وتوفر 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$