۱۳۸۷ خرداد ۱۹, یکشنبه

Bash Scripting 1

یکی از پرکاربردترین مزیت این گونه برنامه نویسی٬ و یا متن نویسی٬ اقدام به اجرای دسته‌ای از برنامه‌های اجرایی و یا دستورات خاص است. اگر با نرم‌افزار‌های مختلفی که کد برنامه را در اختیار شما قرار می‌دهند٬ منبع باز٬ آشنا باشید٬ این برنامه‌ها معمولا همراه با یک فایل متنی اجرایی از این نوع است. دستوراتی که باید یکی پس از دیگری اجرا شوند. شما می‌توانید همه‌ی دستورات مورد نیاز خود را در یک فایل جمع آوری نموده سپس آن فایل را اجرا کنید؛ دستوراتیکه در آن فایل نوشته‌اید یکی پس از دیگری اجرا خواهند شد.

برای مثال٬ ما می‌خواستیم یک برنامه‌ی اجرایی را به ازای آرگومانهای مختلف اجرا کنیم٬ ولی ممکن است این کار خیلی آسان به نظر نرسد. با چند خط برنامه‌نویسی از این نوع٬ این کار به راحتی قابل انجام است.

مثال: برنامه‌ی اجرایی a.out را می‌خواهیم به ازای پارامترهای مختلف اجرا کنیم. این برنامه سه آرگومان می‌پذیرد:
$./a.out 0.8 100 0.0
آرگومان اول باید عددی مثل pp باشد که مقادیر آن ۰.۸ ٬ ۰.۷۵ ٬ ... تا ۰.۵ هستند. آرگومان دوم باید یک عدد صحیح مثبت مثل A باشد و باید به ازای صد ورودی متفاوت اجرا شود. آرگومان سوم هم باید صفر باشد.

حال برنامه‌ی ساده‌ی زیر به راحتی این تعداد اجرای مورد نیاز ما را انجام می‌دهد.
for i in $(seq 1 100); do
for pp in 0.8 0.75 0.7 0.65 0.6 0.55 0.5; do
./TPexe ${pp} ${i} 0.0
done
done

کافی‌است که این چند خط را در یک فایل متنی با پسوندِ sh ٬ مثلا test.sh ذخیره کنید. سپس باید این فایل متنی را به یک فایل اجرایی تبدیل کنید:
$chmod u=xrw test.sh
سپس برنامه را شبیه به یک فایل اجرایی اجرا کنید:
$./test.sh

با این روش شما می‌توانید کارهای بسیار متنوعی را به راحتی انجام دهید. یک سایتِ نمونه که ممکن است به درد بخورد:
http://people.cs.uchicago.edu/~bomb154/154/maclabs/bash-script-lab.html

واژه‌نامه
-----------------
Bash scripting, extension, argument, executable, open source

۱ نظر:

ناشناس گفت...

استاد عالي بود. انشاءا.. همواره با ارائه تجربيات خود ما را ياري نمائيد.