از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
آموزش اسکریپت Bash – اسکریپت شل لینوکس و خط فرمان برای مبتدیان
سرفصلهای مطلب
در لینوکس، اتوماسیون فرآیند به شدت به اسکریپت نویسی پوسته متکی است. این شامل ایجاد یک فایل حاوی یک سری دستورات است که می توانند با هم اجرا شوند.
در این مقاله، ما با اصول اولیه برنامه نویسی bash که شامل متغیرها، دستورات، ورودی/خروجی ها و اشکال زدایی می شود، شروع می کنیم. همچنین نمونه هایی از هر کدام را در طول مسیر خواهیم دید.
بیا شروع کنیم. 🚀
فهرست مطالب
- پیش نیازها
- معرفی
- تعریف برنامه نویسی Bash
- مزایای برنامه نویسی Bash
- نمای کلی پوسته Bash و رابط خط فرمان
- چگونه با Bash Scripting شروع کنیم
- نحوه اجرای دستورات Bash از خط فرمان
- نحوه ایجاد و اجرای اسکریپت های Bash
- مبانی اسکریپت نویسی Bash
- نظرات در برنامه نویسی bash
- متغیرها و انواع داده ها در Bash
- ورودی و خروجی در اسکریپت های Bash
- دستورات اولیه Bash (پژواک، خواندن و غیره)
- عبارات شرطی (اگر/دیگر)
- حلقه زنی و انشعاب در بش
- در حالی که حلقه
- برای حلقه
- اظهارات موردی
- نحوه برنامه ریزی اسکریپت ها با استفاده از cron
- نحوه اشکال زدایی و عیب یابی اسکریپت های Bash
- نتیجه
- منابعی برای کسب اطلاعات بیشتر در مورد برنامه نویسی Bash
پیش نیازها
برای دنبال کردن این آموزش، باید دسترسی های زیر را داشته باشید:
- نسخه در حال اجرا لینوکس با دسترسی به خط فرمان.
اگر لینوکس را نصب نکرده اید یا تازه شروع به کار کرده اید، می توانید به راحتی از طریق Replit به خط فرمان لینوکس دسترسی داشته باشید. Replit یک IDE مبتنی بر مرورگر است که در آن می توانید در عرض چند دقیقه به پوسته bash دسترسی پیدا کنید.
همچنین می توانید لینوکس را با استفاده از WSL (زیر سیستم ویندوز برای لینوکس) در بالای سیستم ویندوز خود نصب کنید. در اینجا یک آموزش برای آن وجود دارد.
معرفی
تعریف برنامه نویسی Bash
اسکریپت bash فایلی است که شامل یک سری دستورات است که توسط برنامه bash خط به خط اجرا می شود. این به شما امکان می دهد یک سری اقدامات مانند پیمایش به یک فهرست خاص، ایجاد یک پوشه و راه اندازی یک فرآیند با استفاده از خط فرمان را انجام دهید.
با ذخیره این دستورات در یک اسکریپت، میتوانید همان ترتیب مراحل را چندین بار تکرار کنید و با اجرای اسکریپت آنها را اجرا کنید.
مزایای برنامه نویسی Bash
برنامه نویسی Bash یک ابزار قدرتمند و همه کاره برای خودکارسازی وظایف مدیریت سیستم، مدیریت منابع سیستم و انجام سایر وظایف معمول در سیستم های یونیکس/لینوکس است. برخی از مزایای اسکریپت نویسی پوسته عبارتند از:
- اتوماسیون: اسکریپت های شل به شما امکان می دهند وظایف و فرآیندهای تکراری را خودکار کنید، در زمان صرفه جویی کنید و خطر خطاهایی را که ممکن است با اجرای دستی رخ دهد، کاهش دهید.
- قابل حمل بودن: اسکریپت های شل را می توان بر روی پلتفرم ها و سیستم عامل های مختلف از جمله یونیکس، لینوکس، macOS و حتی ویندوز با استفاده از شبیه سازها یا ماشین های مجازی اجرا کرد.
- انعطاف پذیری: اسکریپت های Shell بسیار قابل تنظیم هستند و به راحتی می توان آنها را مطابق با نیازهای خاص تغییر داد. آنها همچنین می توانند با سایر زبان های برنامه نویسی یا ابزارهای کاربردی ترکیب شوند تا اسکریپت های قدرتمندتری ایجاد کنند.
- دسترسی: اسکریپت های Shell به راحتی نوشته می شوند و به ابزار یا نرم افزار خاصی نیاز ندارند. آنها را می توان با استفاده از هر ویرایشگر متنی ویرایش کرد و اکثر سیستم عامل ها دارای یک مفسر پوسته داخلی هستند.
- ادغام: اسکریپتهای شل را میتوان با ابزارها و برنامههای کاربردی دیگر، مانند پایگاههای داده، سرورهای وب و سرویسهای ابری ادغام کرد که امکان اتوماسیون پیچیدهتر و وظایف مدیریت سیستم را فراهم میکند.
- اشکال زدایی: اسکریپت های Shell به راحتی اشکال زدایی می شوند و اکثر پوسته ها دارای ابزارهای داخلی اشکال زدایی و گزارش خطا هستند که می تواند به شناسایی و رفع سریع مشکلات کمک کند.
نمای کلی پوسته Bash و رابط خط فرمان
اصطلاحات “پوسته” و “باش” به جای یکدیگر استفاده می شوند. اما یک تفاوت ظریف بین این دو وجود دارد.
اصطلاح “پوسته” به برنامه ای اشاره دارد که یک رابط خط فرمان برای تعامل با یک سیستم عامل فراهم می کند. Bash (Bourne-Again SHell) یکی از رایج ترین پوسته های یونیکس/لینوکس است و پوسته پیش فرض در بسیاری از توزیع های لینوکس است.
یک رابط پوسته یا خط فرمان به شکل زیر است:
در خروجی بالا، zaira@Zaira
اعلان پوسته است. هنگامی که یک پوسته به صورت تعاملی استفاده می شود، a را نمایش می دهد $
زمانی که منتظر دستور کاربر است.
اگر پوسته بهعنوان روت (یک کاربر با حقوق مدیریت) اجرا میشود، درخواست به تغییر مییابد #
. اعلان پوسته superuser به شکل زیر است:
[root@host ~]#
اگرچه Bash یک نوع پوسته است، اما پوسته های دیگری نیز موجود است، مانند پوسته Korn (ksh)، پوسته C (csh) و پوسته Z (zsh). هر پوسته نحو و مجموعه ای از ویژگی های خاص خود را دارد، اما همه آنها هدف مشترکی از ارائه یک رابط خط فرمان برای تعامل با سیستم عامل دارند.
شما می توانید نوع پوسته خود را با استفاده از ps
دستور:
ps
این خروجی برای من است:
به طور خلاصه، در حالی که “شل” یک اصطلاح گسترده است که به هر برنامه ای اشاره دارد که یک رابط خط فرمان ارائه می کند، “Bash” نوع خاصی از پوسته است که به طور گسترده در سیستم های یونیکس/لینوکس استفاده می شود.
توجه: در این آموزش از پوسته “bash” استفاده خواهیم کرد.
چگونه با Bash Scripting شروع کنیم
اجرای دستورات Bash از خط فرمان
همانطور که قبلا ذکر شد، درخواست پوسته چیزی شبیه به این است:
[username@host ~]$
می توانید هر دستوری را بعد از آن وارد کنید $
امضا کنید و خروجی ترمینال را ببینید.
به طور کلی، دستورات از این نحو پیروی می کنند:
command [OPTIONS] arguments
بیایید در مورد چند دستور bash اساسی بحث کنیم و خروجی های آنها را ببینیم. حتما دنبال کنید 🙂
date
: تاریخ جاری را نمایش می دهد
zaira@Zaira:~/shell-tutorial$ date
Tue Mar 14 13:08:57 PKT 1402
pwd
: دایرکتوری فعلی را نمایش می دهد.
zaira@Zaira:~/shell-tutorial$ pwd
/home/zaira/shell-tutorial
ls
: محتویات دایرکتوری فعلی را فهرست می کند.
zaira@Zaira:~/shell-tutorial$ ls
check_plaindrome.sh count_odd.sh env log temp
echo
: رشته ای از متن یا مقدار یک متغیر را در ترمینال چاپ می کند.
zaira@Zaira:~/shell-tutorial$ echo "Hello bash"
Hello bash
شما همیشه می توانید به یک دفترچه دستورات با استفاده از man
فرمان
به عنوان مثال، دفترچه راهنما برای ls
چیزی شبیه این به نظر می رسد:
نحوه ایجاد و اجرای اسکریپت های Bash
قراردادهای نامگذاری اسکریپت
با نامگذاری قرارداد، اسکریپت های bash به پایان می رسند .sh
. با این حال، اسکریپتهای bash میتوانند بدون آن به خوبی اجرا شوند sh
افزونه.
اضافه کردن شبانگ
اسکریپت های Bash با a شروع می شوند shebang
. شبانگ ترکیبی از bash #
و bang !
به دنبال آن مسیر پوسته بش. این خط اول فیلمنامه است. Shebang به پوسته می گوید که آن را از طریق bash shell اجرا کند. Shebang به سادگی یک مسیر مطلق به مترجم bash است.
در زیر نمونه ای از عبارت shebang آورده شده است.
#!/bin/bash
با استفاده از دستور می توانید مسیر پوسته bash خود را (که ممکن است با موارد بالا متفاوت باشد) پیدا کنید:
which bash
ایجاد اولین اسکریپت bash ما
اولین اسکریپت ما از کاربر می خواهد که یک مسیر را وارد کند. در عوض، محتویات آن درج خواهد شد.
یک فایل به نام ایجاد کنید run_all.sh
با استفاده از vi
فرمان می توانید از هر ویرایشگر دلخواه خود استفاده کنید.
vi run_all.sh
دستورات زیر را در فایل خود اضافه کنید و آن را ذخیره کنید:
بیایید نگاهی عمیق تر به خط به خط فیلمنامه بیندازیم. من دوباره همان اسکریپت را نمایش می دهم، اما این بار با شماره خطوط.
1 #!/bin/bash
2 echo "Today is " `date`
3
4 echo -e "\nenter the path to directory"
5 read the_path
6
7 echo -e "\n you path has the following files and folders: "
8 ls $the_path
- خط شماره 1: شبانگ (
#!/bin/bash
) به مسیر پوسته bash اشاره می کند. - خط شماره 2:
echo
فرمان تاریخ و زمان فعلی را در ترمینال نمایش می دهد. توجه داشته باشید کهdate
در بکتیک است. - خط شماره 4: می خواهیم کاربر یک مسیر معتبر وارد کند.
- خط شماره 5:
read
دستور ورودی را می خواند و در متغیر ذخیره می کندthe_path
. - خط شماره 8:
ls
دستور متغیر را با مسیر ذخیره شده می گیرد و فایل ها و پوشه های فعلی را نمایش می دهد.
اجرای اسکریپت bash
برای اینکه اسکریپت قابل اجرا باشد، با استفاده از این دستور، حقوق اجرا را به کاربر خود اختصاص دهید:
chmod u+x run_all.sh
اینجا،
chmod
مالکیت یک فایل را برای کاربر فعلی تغییر می دهد:u
.+x
حقوق اجرا را به کاربر فعلی اضافه می کند. این بدان معناست که کاربری که مالک است اکنون می تواند اسکریپت را اجرا کند.run_all.sh
فایلی است که می خواهیم اجرا کنیم.
می توانید اسکریپت را با استفاده از هر یک از روش های ذکر شده اجرا کنید:
sh run_all.sh
bash run_all.sh
./run_all.sh
بیایید ببینیم در حال اجراست 🚀
مبانی اسکریپت نویسی Bash
نظرات در برنامه نویسی bash
نظرات با a شروع می شود #
در برنامه نویسی bash. این بدان معنی است که هر خطی که با a شروع شود #
یک نظر است و توسط مترجم نادیده گرفته می شود.
نظرات در مستندسازی کد بسیار مفید هستند و افزودن آنها برای کمک به دیگران برای درک کد، تمرین خوبی است.
اینها نمونه هایی از نظرات هستند:
# This is an example comment
# Both of these lines will be ignored by the interpreter
متغیرها و انواع داده ها در Bash
متغیرها به شما امکان می دهند داده ها را ذخیره کنید. شما می توانید از متغیرها برای خواندن، دسترسی و دستکاری داده ها در سراسر اسکریپت خود استفاده کنید.
هیچ نوع داده ای در Bash وجود ندارد. در Bash، یک متغیر میتواند مقادیر عددی، نویسههای جداگانه یا رشتههایی از کاراکترها را ذخیره کند.
در Bash، می توانید مقادیر متغیر را به روش های زیر استفاده و تنظیم کنید:
- مقدار را مستقیماً اختصاص دهید:
country=Pakistan
2. مقدار را بر اساس خروجی به دست آمده از یک برنامه یا دستور با استفاده از جایگزینی دستور اختصاص دهید. توجه داشته باشید که $
برای دسترسی به مقدار متغیر موجود مورد نیاز است.
برای دسترسی به مقدار متغیر، ضمیمه کنید $
به نام متغیر
قراردادهای نامگذاری متغیرها
در برنامه نویسی Bash، قراردادهای نامگذاری متغیرها به شرح زیر است:
- نام متغیرها باید با یک حرف یا زیرخط شروع شود (
_
). - نام متغیرها می تواند شامل حروف، اعداد و زیرخط باشد (
_
). - نام متغیرها به حروف بزرگ و کوچک حساس هستند.
- نام متغیرها نباید حاوی فاصله یا کاراکترهای خاص باشد.
- از نام های توصیفی استفاده کنید که هدف متغیر را منعکس می کند.
- از استفاده از کلمات کلیدی رزرو شده خودداری کنید، مانند
if
،then
،else
،fi
، و غیره به عنوان نام متغیرها.
در اینجا چند نمونه از نام متغیرهای معتبر در Bash آمده است:
name
count
_var
myVar
MY_VAR
و در اینجا چند نمونه از نام متغیرهای نامعتبر آورده شده است:
2ndvar (variable name starts with a number)
my var (variable name contains a space)
my-var (variable name contains a hyphen)
پیروی از این قراردادهای نامگذاری به خوانایی اسکریپت های Bash و نگهداری آسان تر کمک می کند.
ورودی و خروجی در اسکریپت های Bash
جمع آوری ورودی
در این بخش، چند روش برای ارائه ورودی به اسکریپتهایمان را مورد بحث قرار میدهیم.
- خواندن ورودی کاربر و ذخیره آن در یک متغیر
ما می توانیم ورودی کاربر را با استفاده از آن بخوانیم read
فرمان
#!/bin/bash
echo "Today is " `date`
echo -e "\nenter the path to directory"
read the_path
echo -e "\nyour path has the following files and folders: "
ls $the_path
2. خواندن از روی یک فایل
این کد هر خط را از فایلی به نام می خواند input.txt
و آن را در ترمینال چاپ می کند. ما در ادامه این مقاله به بررسی حلقه های while می پردازیم.
while read line
do
echo $line
done < input.txt
3. آرگومان های خط فرمان
در یک اسکریپت یا تابع bash، $1
نشان دهنده آرگومان اولیه تصویب شده است، $2
نشان دهنده آرگومان دوم تصویب شده و غیره است.
این اسکریپت یک نام به عنوان آرگومان خط فرمان می گیرد و یک تبریک شخصی چاپ می کند.
echo "Hello, $1!"
عرضه کرده ایم Zaira
به عنوان استدلال ما برای فیلمنامه.
خروجی:
نمایش خروجی
در اینجا ما چند روش برای دریافت خروجی از اسکریپت ها را مورد بحث قرار خواهیم داد.
- چاپ در ترمینال:
echo "Hello, World!"
این متن “سلام، جهان!” به ترمینال
2. نوشتن در یک فایل:
echo "This is some text." > output.txt
این متن را می نویسد “این چند متن است.” به فایلی به نام output.txt
. توجه داشته باشید که >
اپراتور در صورتی که فایلی دارای محتوایی باشد، آن را بازنویسی می کند.
3. الحاق به یک فایل:
echo "More text." >> output.txt
این متن “متن بیشتر” را اضافه می کند. تا انتهای فایل output.txt
.
4. تغییر مسیر خروجی:
ls > files.txt
این فایل ها را در فهرست فعلی لیست می کند و خروجی را در فایلی با نام می نویسد files.txt
. از این طریق می توانید خروجی هر دستوری را به یک فایل هدایت کنید.
دستورات اولیه Bash (پژواک، خواندن و غیره)
در اینجا لیستی از برخی از متداول ترین دستورات bash آمده است:
cd
: دایرکتوری را به مکان دیگری تغییر دهید.ls
: محتویات دایرکتوری فعلی را فهرست کنید.mkdir
: یک دایرکتوری جدید ایجاد کنید.touch
: یک فایل جدید ایجاد کنید.rm
: یک فایل یا دایرکتوری را حذف کنید.cp
: یک فایل یا دایرکتوری را کپی کنید.mv
: انتقال یا تغییر نام یک فایل یا دایرکتوری.echo
: متن را در ترمینال چاپ کنید.cat
: محتویات یک فایل را به هم متصل کرده و چاپ کنید.grep
: جستجوی یک الگو در یک فایل.chmod
: مجوزهای یک فایل یا دایرکتوری را تغییر دهید.sudo
: دستوری را با امتیازات مدیریتی اجرا کنید.df
: نمایش میزان فضای موجود در دیسک.history
: نمایش لیستی از دستورات اجرا شده قبلی.ps
: نمایش اطلاعات مربوط به فرآیندهای در حال اجرا.
عبارات شرطی (اگر/دیگر)
عباراتی که نتیجه بولی ایجاد می کنند، درست یا نادرست، شرایط نامیده می شوند. چندین روش برای ارزیابی شرایط وجود دارد، از جمله if
، if-else
، if-elif-else
، و شرط های تو در تو.
نحو:
می توانیم از عملگرهای منطقی مانند AND استفاده کنیم -a
و OR -o
برای انجام مقایسه هایی که اهمیت بیشتری دارند.
بیایید نمونه ای از اسکریپت Bash را ببینیم که از آن استفاده می کند if
، if-else
، و if-elif-else
عباراتی برای تعیین اینکه آیا یک عدد وارد شده توسط کاربر مثبت، منفی یا صفر است:
اسکریپت ابتدا از کاربر می خواهد که یک عدد را وارد کند. سپس، از یک استفاده می کند if
دستور برای بررسی اینکه آیا عدد بزرگتر از 0 است یا خیر. اگر عدد بزرگتر از 0 نباشد، اسکریپت به دستور بعدی می رود که عبارت است از an if-elif
بیانیه. در اینجا، اسکریپت بررسی می کند که آیا عدد کمتر از 0 است یا خیر. اگر اینطور باشد، اسکریپت خروجی می دهد که عدد منفی است. در نهایت، اگر عدد نه بزرگتر از 0 و نه کمتر از 0 باشد، اسکریپت از an استفاده می کند else
عبارت برای خروجی که عدد صفر است.
دیدن آن در عمل 🚀
حلقه زنی و انشعاب در بش
در حالی که حلقه
حلقههای while یک شرط را بررسی میکنند و تا زمانی که شرط باقی بماند حلقه بزنید true
. ما باید یک عبارت counter ارائه کنیم که شمارنده را برای کنترل اجرای حلقه افزایش دهد.
در مثال زیر، (( i += 1 ))
عبارت شمارنده ای است که مقدار آن را افزایش می دهد i
. حلقه دقیقا 10 بار اجرا می شود.
برای حلقه
این for
حلقه، درست مانند while
حلقه، به شما این امکان را می دهد که عبارات را چندین بار اجرا کنید. هر حلقه از نظر نحو و کاربرد متفاوت است.
در مثال زیر، حلقه 5 بار تکرار می شود.
اظهارات موردی
در Bash، عبارات case برای مقایسه یک مقدار داده شده با لیستی از الگوها و اجرای یک بلوک کد بر اساس اولین الگوی منطبق استفاده می شود. نحو دستور case در Bash به شرح زیر است:
در اینجا، «expression» مقداری است که میخواهیم مقایسه کنیم، و «pattern1»، «pattern2»، «pattern3» و غیره الگوهایی هستند که میخواهیم آن را با آن مقایسه کنیم.
نقطه ویرگول دوتایی “;;” هر بلوک کد را برای اجرا برای هر الگو جدا می کند. ستاره “*” نشان دهنده حالت پیش فرض است که در صورتی اجرا می شود که هیچ یک از الگوهای مشخص شده با عبارت مطابقت نداشته باشد.
بیایید یک مثال را ببینیم.
در این مثال، از آنجایی که مقدار “میوه” “سیب” است، اولین الگوی منطبق است، و بلوک کدی که “این میوه قرمز است” را بازتاب می دهد. اجرا می شود. اگر مقدار “میوه” به جای “موز” بود، الگوی دوم مطابقت داشت و بلوک کدی که “این میوه زرد است” منطبق بود. اجرا می کرد و غیره اگر مقدار “fruit” با هیچ یک از الگوهای مشخص شده مطابقت نداشته باشد، حالت پیش فرض اجرا می شود که “میوه ناشناخته” را بازتاب می دهد.
نحوه برنامه ریزی اسکریپت ها با استفاده از cron
Cron یک ابزار قدرتمند برای زمان بندی کار است که در سیستم عامل های مشابه یونیکس موجود است. با پیکربندی cron، میتوانید کارهای خودکار را برای اجرای روزانه، هفتگی، ماهانه یا زمانی خاص تنظیم کنید. قابلیت های اتوماسیون ارائه شده توسط cron نقش مهمی در مدیریت سیستم لینوکس ایفا می کند.
در زیر دستور زمان بندی کرون ها آمده است:
# Cron job example
* * * * * sh /path/to/script.sh
اینجا *
s به ترتیب بیانگر دقیقه(ها) ساعت(ها) روز(های) ماه(های) روزهای هفته است.
در زیر چند نمونه از زمان بندی کار های cron آورده شده است.
برنامه | شرح | مثال |
---|---|---|
0 0 * * * |
هر روز یک اسکریپت را نیمه شب اجرا کنید | 0 0 * * * /path/to/script.sh |
*/5 * * * * |
هر 5 دقیقه یک اسکریپت را اجرا کنید | */5 * * * * /path/to/script.sh |
0 6 * * 1-5 |
یک اسکریپت را در ساعت 6 صبح از دوشنبه تا جمعه اجرا کنید | 0 6 * * 1-5 /path/to/script.sh |
0 0 1-7 * * |
یک اسکریپت را در 7 روز اول هر ماه اجرا کنید | 0 0 1-7 * * /path/to/script.sh |
0 12 1 * * |
یک اسکریپت را در روز اول هر ماه در ظهر اجرا کنید | 0 12 1 * * /path/to/script.sh |
با استفاده از کرونتاب
این crontab
از ابزار برای افزودن و ویرایش cron job استفاده می شود.
crontab -l
اسکریپت های از قبل برنامه ریزی شده را برای یک کاربر خاص لیست می کند.
می توانید از طریق cron را اضافه و ویرایش کنید crontab -e
.
می توانید در مقاله دیگر من در اینجا اطلاعات بیشتری در مورد مشاغل ذرت بخوانید.
نحوه اشکال زدایی و عیب یابی اسکریپت های Bash
اشکال زدایی و عیب یابی مهارت های ضروری برای هر برنامه نویس Bash است. در حالی که اسکریپت های Bash می توانند فوق العاده قدرتمند باشند، می توانند مستعد خطاها و رفتارهای غیرمنتظره نیز باشند. در این بخش، نکات و تکنیک هایی را برای اشکال زدایی و عیب یابی اسکریپت های Bash مورد بحث قرار می دهیم.
را تنظیم کنید set -x
گزینه
یکی از مفیدترین تکنیک ها برای اشکال زدایی اسکریپت های Bash تنظیم کردن است set -x
گزینه در ابتدای اسکریپت. این گزینه حالت اشکال زدایی را فعال می کند که باعث می شود Bash هر دستوری را که اجرا می کند در ترمینال چاپ کند و قبل از آن یک +
امضا کردن. این می تواند در شناسایی محل وقوع خطا در اسکریپت شما بسیار مفید باشد.
#!/bin/bash
set -x
# Your script goes here
کد خروج را بررسی کنید
هنگامی که Bash با یک خطا مواجه می شود، یک کد خروج تنظیم می کند که ماهیت خطا را نشان می دهد. می توانید کد خروجی آخرین دستور را با استفاده از $?
متغیر. یک ارزش از 0
نشان دهنده موفقیت است، در حالی که هر مقدار دیگر نشان دهنده یک خطا است.
#!/bin/bash
# Your script goes here
if [ $? -ne 0 ]; then
echo "Error occurred."
fi
استفاده کنید echo
بیانیه
یکی دیگر از تکنیک های مفید برای اشکال زدایی اسکریپت های Bash، درج کردن است echo
عبارات در سراسر کد شما این می تواند به شما کمک کند تا تشخیص دهید که خطاها کجا رخ می دهند و چه مقادیری به متغیرها منتقل می شوند.
#!/bin/bash
# Your script goes here
echo "Value of variable x is: $x"
# More code goes here
استفاده کنید set -e
گزینه
اگر می خواهید اسکریپت شما بلافاصله پس از شکست هر دستوری در اسکریپت خارج شود، می توانید از آن استفاده کنید set -e
گزینه. این گزینه باعث می شود که Bash با خطا خارج شود در صورت عدم موفقیت هر دستوری در اسکریپت، شناسایی و رفع خطاهای موجود در اسکریپت شما را آسان تر می کند.
#!/bin/bash
set -e
# Your script goes here
عیبیابی کرونها با تأیید گزارشها
ما میتوانیم با استفاده از فایلهای گزارش، کرونها را عیبیابی کنیم. سیاههها برای تمام کارهای برنامه ریزی شده نگهداری می شوند. میتوانید در گزارشها بررسی و تأیید کنید که آیا یک کار خاص طبق برنامه اجرا شده است یا خیر.
برای اوبونتو/دبیان، می توانید پیدا کنید cron
ورود به سیستم:
/var/log/syslog
مکان برای توزیع های دیگر متفاوت است.
یک فایل گزارش کار cron می تواند به شکل زیر باشد:
نتیجه
در این مقاله، نحوه دسترسی به ترمینال را شروع کردیم و سپس دستورات اولیه bash را اجرا کردیم. ما همچنین بررسی کردیم که پوسته bash چیست. ما به طور خلاصه به شاخه بندی کد با استفاده از حلقه ها و شرطی ها نگاه کردیم. در نهایت، ما در مورد خودکار کردن اسکریپت ها با استفاده از cron و سپس چند تکنیک عیب یابی بحث کردیم.
منابعی برای کسب اطلاعات بیشتر در مورد برنامه نویسی Bash
اگر میخواهید عمیقتر در دنیای bash اسکریپت کاوش کنید، به شما پیشنهاد میکنم این دوره آموزشی ۶ ساعته لینوکس را در freeCodeCamp ببینید.
چیز مورد علاقه شما که از این آموزش یاد گرفتید چیست؟ همچنین می توانید در هر یک از این پلتفرم ها با من ارتباط برقرار کنید. 📧
در آموزش بعدی میبینمت کد نویسی مبارک 😁
اعتبار تصویر بنر: تصویر توسط Freepik
منتشر شده در 1402-12-26 20:02:04