آموزش Shell script در لینوکس

آموزش Shell script در لینوکس
آکادمی آی تی
آکادمی آی تی
dots

آموزش Shell script در لینوکس

زمان مورد نیاز برای مطالعه 5 دقیقه

Shell script در لینوکس یکی از امکانات پر کاربرد برای برنامه نویسان لینوکسی می باشد. در این بخش به آموزش استفاده از این رابط کاربری ویژه می پردازیم.

دپارتمان ‌ها: آموزش برنامه نویسی
1401/10/15
2,655 بازدید

آموزش shell script در لینوکس

سیستم‌ عامل لینوکس، شامل دستورات زیادی می باشد که در بسیاری از مواقع، نیاز است ترکیبی از دستورات را برای مدیریت سرورها و سیستم های پردازشی اجرا نمود. به همین منظور اسکریپت نویسی شل یا Shell script، برای اجرا مجموعه ای از دستورها، با ترتیب و شرایط خاص در سیستم عامل لینوکس می‌باشد.

در ادامه مقاله قصد داریم توضیحات مختصری درباره اسکریپت نویسی شل به شما عزیزان ارائه دهیم؛ پس با ما همراه باشید.

 

شِل یا shell چیست؟

برنامه shell یک رابط کاربری ویژه ای است که برای استفاده از خدمات و امکانات سیستم عامل لینوکس در اختیار کاربران قرار می دهد. در واقع اسکریپت نویسی در محیط شل دستورات قابل فهم از کاربر گرفته آن را بر اساس هسته سیستم عامل اجرا می کند. محیط shell با ورود کاربر یا راه اندازی ترمینال شروع می شود.

 

انواع شل

شل در سیستم عامل لینوکس در اقسام و نام های گوناگون می باشند که گروه اول Bourne Shell با علامت $ و گروه دوم C shell با نشانه‌ی دستور % در محیط شل وجود دارد که به تفکیک زیر می باشند:

 

گروه Bourne shell

  • Bourne Shell
  • Bourne Again Shell
  • Korn Shell
  • Posix Shell

 

گروه C Shell

  • C shell
  • TENEX/TOPS C Shell

 

نحوه اسکریپت نویسی شل در لینوکس

در محیط Shell script نحوه اسکریپت نویسی مشابه یک زبان برنامه‌نویسی با قواعد مخصوص به خود عمل می کند. در ادامه‌ی مطلب چند مثال‌ بر روی شل bash اجرا خواهیم کرد.

در ابتدا به وسیله یک ویرایشگر مانند ویرایشگر vi، کدنویسی خود را ایجاد می‌کنیم. در نظر داشته باشید که در اول هر فایل اسکریپت باید خط bin/bash/!# را اضافه کنید. اگر از شل های دیگر استفاده می کنید نام آن شل را به جای bash جایگذاری کنید. برای اجرای اسکریپت‌های شل، می توان به دو روش زیر انجام داد:

روش اول: اجرای فایل با استفاده از دستور bash می‌باشد.

admin@example:~$ bash my-script.sh

روش دوم: می توان مد یا حالت فایل را به فایل اجرایی تغییر داد و به صورت مستقیم فایل را اجرا کنید.

admin@example:~$ chmod a+rx my-script.sh

admin@example:~$ ./my-script.sh

برای کامنت گذاری یا توضیحات دستورات خود در Shell script  می توانید از علامت # در ابتدای خط استفاده نمایید.

# This line is shell script comment

cp filename lastname

برای شروع می توانید اسکریپت ساده زیر امتحان کنید:

#!/bin/bash

echo "hello word 

پس از ذخیره فایل اسکریپت و اجرا نمودن آن خروجی زیر را مشاهده می کنید:

admin@example:~$ ./my-script.sh

hello word!

admin@example:~$

اگر تمایل داشتید چند دستور را در یک خط بنویسید در انتهای دستور از علامت سمی‌کالن (;) استفاده کنید.

echo hello word! ; echo hello again

 

متغیرهای محیطی 

متغیر محیطی یا Environment Variables، متغیرهایی از پیش تعریف شده هستند که حاوی اطلاعات مربوط به مسیر حاضر کاربر و یا مقدار خاصی می‌باشند. برای مثال متغیر HOME مسیر پیش‌فرض دایرکتوری home کاربر جاری را نشان میدهد:

admin@example:~$ echo $HOME

/home/admin

admin@example:~$ 

 

مقاسیه‌ در متن و اعداد

جدول زیر علامت‌های مربوط به مقایسه بین حروف و اعداد نمایش داده شده است که از آن می‌توان در دستورات شرطی استفاده نمود:

 

دستورات شرطی

نحوه‌ی نگارش دستورات حاوی شرط به ضورت زیر می‌باشد:

#!/bin/bash

dir="/home/admin/test"

if [ -d $dir ]; then

    echo "Directory exists"

else

    echo "Directory does not exist"

در اسکریپت فوق، با کمک دستور شرطی if می توان تشخیص داد در مسیر ذکر شده، دایرکتوری test وجود دارد یا خیر.

 

حلقه‌ی for

در بعضی مواقع نیاز است مجموعه‌ای از دستورات، با تعداد مشخصی تکرار شوند که به راحتی می توان با کمک دستور حلقه‌ی for، استفاده کرد.

for i in {2 … 10}

do

    echo "output: $i"

done

در مثال بالا، تمام اعداد 2 تا 10 به ترتیب output: 2، output: 3 و ... نمایش داده می‌شود.