در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش لینوکس ( Linux Essentials ) قسمت 12 : ایجاد شل اسکریپت ساده

آموزش لینوکس ( Linux Essentials ) قسمت 12 : ایجاد شل اسکریپت ساده

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

شما می توانید 3 دقیقه از این ویدیو را به صورت رایگان مشاهده کنید

یکی از مهمترین مسائل در سیستم عامل لینوکس و البته برای دوستانی که در حوزه Open Source فعالیت می کنند ، روش تبدیل کردن دستور یا مجموعه ای از دستورات به فایل های اجرایی یا اسکریپت های اجرایی است ، با اینکار سرعت عمل شما در انجام کارها در لینوکس بسیار بالا می رود ، برای مثال ممکن است شما برای Backup گیری نیاز به وارد کردن N عدد دستور داشته باشید که در قالب یک اسکریپت می توانید همه آنها را یکجا اجرا کنید. تبدیل کردن دستورات به فایل های اجرایی در سیستم عامل لینوکس در اصطلاح فنی Shell Scripting نامیده می شود ، در این ویدیوی آموزشی ما قرار نیست به شما آموزش کامل Shell Script نویسی را بدهیم اما شما را با کلیات اینکه چگونه یک دستور می تواند به عنوان اسکریپت استفاده شود آشنا می شویم ، معرفی کردن انواع Shell و نحوه معرفی آنها در فایل اسکریپت ، نحوه استفاده از دستورات شرطی if ، دستورات تکرار یا حلقه loop ، نحوه بکارگیری متغیرها یا Variable ها ، نحوه استفاده از آرگومان های دستورات بصورت 1$ و 2$ و خروج با استفاده از ?$ و ... آشنا خواهیم شد. برای اینکه بتوانید در همین بدو شروع Shell Scripting ترس خود را از اینکار از بین ببرید باید بدانید که قرار نیست در وهله اول شما یک اسکریپت تمام و کمال بنویسید و در این ویدیو نیز اسکریپت های بسیار ساده ای قرار داده شده است که شما بتوانید در حین تمرین ها آنها را تغییر و مقادیر خودتان را وارد و تمرین کنید ، در ادامه متن اسکریپت هایی که در ویدیو وجود دارند را می توانید در قالب فایل هایی که در ویدیو آموزش داده شده است قرار بدهید و تمرین ها را همزمان با ویدیو انجام دهید ، امیدوارم مورد توجه شما قرار بگیرد :

محتوای اسکریپت اول :


#!/bin/bash

VAR1="Unity Pro"

echo $VAR1

echo "Add your part of sentence :"
echo ""
echo "$VAR1 Joined $1 makes a super group"

محتوای اسکریپت دوم :


#!/bin/bash

if [ "$1" = "Xubuntu Linux" ]
then
    echo "Yeah,Xubunto is awsome."
else 
    echo "Aww,Not Xubuntu ? , OK I like $1 $2 $3 too"
fi

محتوای اسکریپت سوم :


#!/bin/bash

echo "Move your files to the Unity folder!"

cd Unity  > /dev/null 2>&1

if [ "$?" != "0" ]
then
    echo "There is no Unity Folder!!!! "
else
    echo "OK,Now i am in `pwd` path."
fi

محتوای اسکریپت چهارم :


#!/bin/bash

for x in {1..9}
do
    echo "Say again , ITPRO.ir is the best : $x"
done
echo""
echo "Yeah , all 9 sentences completed."

محتوای اسکریپت پنجم :


#!/bin/bash

for LOOP in `ls`
do
   echo "Here is $LOOP :"
   echo `cat $LOOP`
   echo ""
done

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

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

هرچند طبق قانون کپی برداری جرم است و پیگرد قانونی دارد اما من باور دارم انسان با فرهنگ ویدیوها را کپی نمی کند

#دوره_آموزشی_lpic #ویدیوی_دوره_آموزشی_لینوکس_فارسی #دوره_آموزشی_linux_essentials #دوره_آموزشی_lpic_فارسی #فیلم_آموزشی_لینوکس #دوره_آموزشی_linux_ویدیویی #فیلم_دوره_آموزشی_لینوکس #آموزش_مقدماتی_لینوکس #دوره_آموزشی_لینوکس #آموزش_لینوکس
عنوان
1 آموزش لینوکس ( Linux Essentials ) قسمت 1 : معرفی دوره و ساختار 14′:6″ رایگان
2 آموزش لینوکس ( Linux Essentials ) قسمت 2 : انقلاب لینوکس 20′:36″ 9,999
3 آموزش لینوکس ( Linux Essentials ) قسمت 3 : آموزش نصب لینوکس 33′:58″ 9,999
4 آموزش لینوکس ( Linux Essentials ) قسمت 4 : مفهوم لایسنس 22′:52″ 9,999
5 آموزش لینوکس ( Linux Essentials ) قسمت 4 : مقدمات فایل سیستم 31′:58″ 9,999
6 آموزش لینوکس ( Linux Essentials ) قسمت 5 : شل و دستورات مقدماتی 40′:38″ 15,500
7 آموزش لینوکس ( Linux Essentials ) قسمت 7 : استفاده از راهنما 19′:5″ 5,500
8 آموزش لینوکس ( Linux Essentials ) قسمت 8 : فایل و دایرکتوری 23′:45″ 9,999
9 آموزش لینوکس ( Linux Essentials ) قسمت 9: مدیریت فایل و دایرکتوری 27′:36″ 9,999
10 آموزش لینوکس ( Linux Essentials ) قسمت 10 : آرشیو و فشرده سازی 35′:6″ 9,999
11 آموزش لینوکس ( Linux Essentials ) قسمت 11 : جستجو کردن 51′:25″ 15,000
12 آموزش لینوکس ( Linux Essentials ) قسمت 12 : ایجاد شل اسکریپت ساده 38′:24″ 15,000
13 آموزش لینوکس ( Linux Essentials ) قسمت 13 : انتخاب OS مناسب 24′:59″ رایگان
14 آموزش لینوکس ( Linux Essentials ) قسمت 14 : شناخت سخت افزار 29′:1″ رایگان
15 آموزش لینوکس ( Linux Essentials ) قسمت 15 : دستورات مهم دایرکتوری 31′:50″ 15,000
16 آموزش لینوکس ( Linux Essentials ) قسمت 16 : مبانی شبکه در لینوکس 35′:4″ 9,999
17 آموزش لینوکس ( Linux Essentials ) قسمت 17 : انواع User و دستورات 30′:29″ 15,000
18 آموزش لینوکس ( Linux Essentials ) قسمت 18 : مدیریت User و Group 29′:31″ 9,999
19 آموزش لینوکس ( Linux Essentials ) قسمت 19 : سطوح دسترسی فایل 36′:27″ 15,500
20 آموزش لینوکس ( Linux Essentials ) قسمت 20 : Shortcut و Sticky Bit 16′:24″ 9,999
زمان و قیمت کل 9:53′:14″ 196,490
50 نظر
بهروز   سیروس زاد

مثل هميشه عالي و پر محتوا خسته نباشيد

محمد منایی

خسته نباشید عالی بود ولی یاد کلاس ریاضی افتادم

بچه های عزیز 4=2+2

حالا این انتگرال 4 خطی رو اجرا کنید

:)

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

محمد منایی

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

فقط اینکه این دوره چند قسمت دیگه باقی مونده ؟

ممنون از زحمات شما

sina000721

ببخشید چند تا سوال درباره ی بخش شل اسکری‍تینگ داشتم

وب سایت توسینسو

در این عکس معنای قسمت devnull رو نمیفهمم

و فکر کنم این اسکری‍ت اشتباهه چون گفته اگر خروجی مخالف صفر بود یعنی true بود. چا‍‍ب کن فولدر unity نیست!!! خوب شرط ما مگه نمیگه برو داخل unity یعنی "اگه بره داخل unity خروجی ما true میشه یعنی مخالف صفر" یعنی فولدر unity وجود داره بس چرا باید بگه وجود نداره؟؟؟

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

sina000721

خیلی خیلی ممنون از راهنماییتون

amirsajadmaleki

من این فیلم دیدم.این فیلم نسبت به فیلم های قبل خوب توضیح داده نشده .در ابن فیلم در مورد دستورات مربوط به shell script خوب توضیح داده نشده.مثلا در "$VAR1 Joined $1 makes a super group" چطوری میشه داخل یک جمله که برای پرینت گرفتن است یک متغیر فراخوانی میشود .در حالی که در برنامه نویسی با زبان ها من چنین چیزی ندیدم .ای کاش در مورد این چیزها دقیقتر توضیح داده میشد.

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

amirsajadmaleki

واقعیتش من خیلی دوست دارم همه چی از پایه دقیق توضیح داده شده باشه تا جای ابهامی وجود نداشته باشه مثل فیلم های قبلی شما .

amirsajadmaleki

این چه حرفیه فدای سرت مهندس.

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

اریا بنازاده

سلام این جلسه خوب بود ولی اگه بخوایم با بقیه جلسه ها مقایسه کنم بقیه جلسه ها بیشتر توضیح داده بودین وشیواتر مخصوصا این قسمتشو من نفهمیدم حالا نمیدونم مشکل ازمغز منه یا بقیه ه نفهمیدن

cd Unity  > /dev/null 2>&1
if [ "$?" != "0" ]

میشه ی توضیح بدین من اصلا نفهمیدم $? و //dev//null 2>&1

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

mohammadp

با سلام خدمت مهندس نصیری

این قسمت از اسکریپت cd Unity > //dev//null 2>&1 رو متوجه نشدم، مگر دستور cd خروجی داره که ما توی یه فایل بریزیم؟

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

Nst

یه سوال دیگه من این اسکریپت ها رو باید چیکارشون کنم دقیقا؟

نمیدونم چطور باید وارد خط فرمان برای اسکریپت نویسی شد

توی ویدئو شما 2 تا ترمینال داشتید که رو یکی اسکریپت نوشته بود و با یکی تست میکردید

ممنون میشم راهنمایی کنید

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

mohammadp

آقا کپی نکنید!!!!!!!!

احسان عروه

سلام

اسکریپت سوم درست کار میکنه. من فکر میکنم اینطوریه قضیه:

اگر فولدر Unity وجود نداشته باشه، پس خطایی رخ میده و ?$ ترو می شه. یعنی مخالف 0 پس چاپ میکنه که فولدر نیست.

در واقع فکر میکنم اگر بذاریم

if [ "$?" = 1] 

فهم قضیه راحت تر میشه.

امیرحسین کریم پور

سلام.

من وقتی وارد محیط اسکریپ نویسی bash میشم binbash# رو نمیبینم.

وب سایت توسینسو

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

امیرحسین کریم پور

شما وقتی دستور nano رو زدید کردید و وارد محیط اسکریپت نویسی شدید تصویر زیر رو آورد که مغایر با خروجی دستور منه.به همین خاطر گفتم...

وب سایت توسینسو

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

زهرا پیرنیاری

سلام

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

همراه با فیلم آموزشی نبودن!

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

فرهاد پریدار

وقتی اسکریپت رو اجرا میکنم نمیشه مشکل از چی هست مهندس؟

وب سایت توسینسو

امیرحسین کریم پور

سلام ،

بنظرم نباید فاصله بزارین بین /. و اسم فایل ، اینجوری بنویسین :

:~# ./script1
فرهاد پریدار

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

امیرحسین کریم پور

بعد از shebang یا همون !# فک کنم باید یه اسلش بزارین :

#!/bin/bash
فرهاد پریدار

دقیقا مشکل همین بود ، ینی یه / چقدر تاثیر داره

والبته اون فاصله هم نباید باشه

امیرحسین کریم پور

تاثیرش اینقدره که باید اول وارد ریشه یا همون / بشه بعد از توی دایرکتوری bin شل bash رو بخونه و دستورات رو اجرا کنه. همیشه تو آدرس دهی دقت کنید. موفق باشید

علی  محبوبی نژاد

سلام استاد

در اسکریپت شماره ۲ میتونیم در خط if متغیر 1$ رو داخل دبل کوتیشن نذاریم دیگه؟ درسته؟ من برداشتمش بازم درست اجرا شد. شما همینطوری برای قشنگی گذاشتید ؟

علی  محبوبی نژاد

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

if [ "$?" != "0" ]
then
    echo "There is no Unity Folder!!!! "
else
    echo "OK,Now i am in `pwd` path."

اگر خروجی مخالف صفر بود یا true بود بگه فولدر وجود نداره اشتباه هست . چون اون موقع فولدر وجود داره! و شما در جواب ایشون گفتید بله یا دستورات جابه جا بشه یا اون ! حذف بشه! اوکی؟ الان سوال من اینجاس! بدون این اصلاحیات در عمل داره با همین شرط درست کار میکنه چرا؟؟؟ وقتی خروجی درست باشه میره مسیر رو چاپ میکنه و در واقع درست داره کار میکنه و هیچ احتیاجی به تغییر اسکریپت شما نیست!! اگر فولدر untiy نداشته باشیم میگه فولدری وجود ندارد! من گیج شدم...در واقع نباید درست کار کنه! باید طبق گفته دوستمون و اصلاح شما در کامنت ها باید برای درست کار کردن یا !‌ حذف بشه یا جملات بعدی جا به جا بشن! ولی بدون اینکارها هم اسکریپت داره درست کار میکنه! و جالب تر اینکه اگر بریم ویرایش کنیم و ! رو برداریم از اسکریپت ...اشتباه کار میکنه! و برعکس میشه! درواقع اسکریپت شما هیچ نیازی به اصلاح نداره!

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

علی  محبوبی نژاد

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

cd Unity > devnull 2>&1

if [ "$?" != "0" ]

then

echo "There is no Unity Folder!!!! "

else

echo "OK,Now i am in `pwd` path."

که اگر خروجی مخالف صفر بود یا همون اگر خروجی درست بود پیغام بده فولدر وجود ندارد.

چون اون موقع اشتباه هست! چون اگر خروجی درست باشه باید پیغام بده فولدر وجود دارد!

و چون عملا داره درست کار میکنه اسکریپت

پس احتمالا معنی این عبارت در لینوکس :

if [ "$?" != "0" ]

این نیست که اگر خروجی true بود! یا همون مخالف صفر بودن! و معنای درست بودن خروجی را نمی دهد.

اگر هم نخوایم ریز بشیم و گیر بدیم و به قول شما قصد از این ویديو اسکریپت نویسی نیست و فقط کاربرد چند دستور هست که خب هیچی. میگذریم ازش.

علی  محبوبی نژاد

استاد الان این یعنی اگر شرط خروج ما true بود؟

if [ "$?" != "0" ]

یعنی $? یعنی شرط خروج؟

خب الان از کجا میفهمه شرط خروج ما چیه؟ ما که قبلش شرطی برای خروج نذاشتیم. خود این جمله شرطه!

شرمنده من کلید کردم روی این :دی

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

علی  محبوبی نژاد

اینو متوجه شدم معنی این جمله طبق چیزی که الان میفرمایید میشه اگر شرط خروجی مخالف صفر بود یا همون true بود بیا چاپ کن فولدر وجود ندارد. و اگر نه برو داخل فولدر Cd کن و بگو ok من الان اینجام .

ابهام اینه :معنی اگر خروجی true بود یعنی چی؟ اینجا گیر منه! کدوم خروجی باید true یا false باشه؟ از کجا میفهمه خروجی true معنیش میشه وجود نداشتن فولدر unity . یا خروجی false میشه وجود داشتن فولدر! که بعدش بخواد تصمیم بگیره کدوم پیغام رو نشون بده.

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

علی  محبوبی نژاد

الان اگر من بفهمم ?$ در این اسکریپت نویسی لینوکس معنیش چی میشه مشکلم حل میشه.

در واقع مشکل من اینه که نمیفهمم چرا باید شرط وجود نداشتن یک فولدر عبارت ( ?$ مخالف صفر یا همون true بودنش ) باشه!

فکر کنم واضح تر گفتم مشکلم رو.

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

سعید

سلام استاد گرامی

محتوای اسکریپت ها رو با چه فرمتی save کنیم ? .bat

و chmod هم همون attrib ویندوز خودمونه

یه Hidden کردن سیستماتیکی هم یاد می دادید استاد.

امیرحسین کریم پور

دوست عزیز لینوکس مثله ویندوز به پسوند فایل حساس نیست ، کافیه شما فایل رو Execute یا اجراییش کنید و با وارد کردن /. اول فایل اسکریپت ، اونو اجراش کنید. با دستور زیر میتونید فایل رو Hidden کنید :

:~$ mv file .file

همونطور که در دستور بالا دیدید اگه ابتدای فایل یه نقطه (dot) بزاریم فایل مخفی میشه.

هومن پاشایی

آقای نصیری عزیز

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

بعد من میخواهم عدد 0 هم چاپ شود امکانش هست راهنمایی کنید؟

#!/bin/bash


VAR1="Student Number = 932130"
VAR2="0"

for i in {1..31}
do
	if [$i <= 9]
	then
		echo "$VAR1$`echo 0`$i"
	else
		echo "$VAR1$i"
	fi
done

وب سایت توسینسو

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

علی  محبوبی نژاد

سلام

این #!/bin/bash که اول اسکریپت ها میذارین و درواقع نوع شل رو معرفی میکنیم به خاطر # توضیح و کامنته دیگه؟ نذاریم هم اتفاقی نمیفته. درسته؟


برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....