2 ارسال در این موضوع قرار دارد

به نام خدا

آموزش برنامه نویسی بش

‌‌Bash Programming

 

بدون مقدمه برای اینکه آموزش کاربردی باشه مستقیم میریم سراغ اصل مطلب:

Shebangخط اول هر اسکریپت یا برنامه یی که دارید مینویسید معمولا شی بنگ بهش میگن که میشه

این خط بیانگر مسیر مفسر یا تفسیر کننده زبان برنامه نویسی هست که کار مفسر تفسیر کد ها و اجرا و کامپایل کد هاست (در زبان های اسکریپتی)

مسیر مفسر زبان بش با دستور زیر توی ترمینال مشخص میشه:

whereis bash

با این دستور مسیر های موجود نمایش داده میشه که غالبا مسیر بش به شکل زیر هست(حتی در توزیع های لینوکسی مثل کالی):

/bin/bash

این مسیر مسیر مفسر زبان بش در سیستم عامل شماست.

خب حالا میخوایم اولین برنامه رو بنویسیم که البته خیلیم معروفه!

 

ابتدا یک فایل متنی باز کنید و شی بنگ را به شکل زیر وارد کنید:

#!/bin/bash

این خط داره میگه برای این اسکریپت مفسر موجود در مسیر فلان رو راه بنداز

.

دستور چاپ در زبان برنامه نویسی بش

درزبان برنامه نویسی بش برای چاپ یا نمایش یک متن از دستور زیر استفاده میشه

echo "Mr.Python"

دستور بالا به معنی این هست که متن موجود بین کوتیشن ها رو برام نمایش بده

یعنی بنویس:

Mr.Python

پس دستور

echo

برای چاپ و نمایش مقادیر است.

 

نکته:

کوتیشن ها : علامتی را که در دو طرف کلمه مستر پایتون مشاهده میکنید بهش میگن کوتیشن البته دابل کوتیشن

اگر داده شما از نوع متنی و نمایشی باشه باید بین دوتا دابل کوتیشن قرار بدید یعنی در واقع داده شما از نوع رشته هست . توش از کاراکتر های زبان انگلیسی استفاده شده.هر متنی یک رشته هست پس رشته در واقع کنار هم قرار گرفتن کلمات و اعداد و کاراکتر هاست.

 

در اخر داخل فایل متنی تکه کد زیر رو ذخیره کنید فرمت فایل رو 

sh

بذارید مثلا

test.sh:

#!/bin/bash
echo "Hello, Mr.Python"

در اخر باید مجوز اجرای این اسکریپت رو به سیستم عامل بدیم:

داخل ترمینال:

chmod 777 test.sh

عدد 7 بیانگر این هست که شما مجوز خواندن نوشتن و اجرا رو به اسکریپت دادید.

عدد 4 برای خواندن

عدد 2 برای نوشتن

عدد 1 برای اجرا

جمعشون میشه 7

اما چرا سه تا7 نوشتیم؟

چون هر فایل دسترسی روت و گروه و عمومی رو داره که ما برای هر سه گروه مجوز خوندن و نوشتن و اجرا رو دادیم.

به جای 777 میتونید

+x

قرار بدید.

یعنی:

chmod +x test.sh

یعنی تغییر مود به انگلیسی:chmod

changemode

دستوری هست برای صدور مجوز خوندن و نوشتن و اجرای هر فایل در لینوکس

پس یادتون باشه که برنامه های بش چه پسوندی دارن

برای اجرای اسکریپت باید در ترمینال دستور زیر رو وارد کنید

sh test.sh

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بخش دوم از آموزش بش نویسی

متغیر ها- قسمت اول:

 

تا اینجای کار ما با دستور چاپ و نمایش در زبان بش آشنا شدیم تو این بخش با متغیر ها سرو کار داریم:

یه متغیر تو زبان بش میتونه یه عدد یا رشته یا کاراکتر مخصوصی باشه هر چیزی.

نام متغیر ها در زبان بش به حروف بزرگ و کوچیک حساسه یعنی دو متغیر زیر با هم فرق دارند:

Mojtaba

mojtaba

یعنی هر کدوم از این دو تا میتونه مستقل باشه و ربطی به هم ندارن دو تا متغیر جدا ان.

برای اینکه مقداری به متغیر انتساب بدیم باید از علامت تساوی = استفاده کنیم.

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

Mojtaba=5

و اگر به شکل زیر بنویسید غلط است:

Mojtaba = 5

نسبت دادیمMojtaba مفهوم خط بالا این است که ما عدد ۵ را به متغیر

--

برای فراخوانی هر متغیر باید از نماد $ استفاده کنیم دقیقا این نماد رو قبل از متغیر به کار میبریم به تکه کد زیر توجه کنید:

V=77
echo $V

نسبت دادیم و در اخر با دستور Vمفهوم کد بالا این است که ما عدد۷۷ رو به متغیر

echo

اون رو چاپ میکنیم و نمایش میدیم:

دقت کنید که قبل از نام متغیر من از نماد $استفاده کردم برای فراخوانی متغیر.

یادتون باشه اگر خواستید یک متن به یک متغیر نسبت بدید لازم نیست اونرو داخل کوتیشن ها قرار بدید :

M=Guardiran

تمرین:

ذخیره و اجرا کنیدshتکه کد زیر رو در یک فایل با فرمت

Name=Mr.Python
TEAM=Guardiran
echo "Hi, I am $Name , My Team is $TEAM Security Team"

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری