در این قسمت سعی میکنم هفته ای یک ویدیو درباره آموزش Bash قرار بدم:
پیش نیاز این آموزشها یه آشنایی ساده و اولیه با گنو / لینوکس هست و دانش برنامه نویسی خاصی نیاز ندارید ، چون سعی کردم همه مسائل ساده عنوان بشه 🙂
قسمت پانزدهم :
در این قسمت string manipulation رو توضیح دادم.

قسمت چهاردهم:
در این قسمت آرایه ها رو ادامه دادم و کمی درباره find صحبت کردم و با دیدن این قسمت یه اسکریپت خواهید نوشت که با یه فرمت خاص فایل ها رو در کامپیوتر شما جستجو میکنه و ازشون backup میگیره.

این هم یه لینک که داخلش ۳۵ تا مثال برای دستور find آورده
قسمت سیزدهم:
در این قسمت آرایه ها رو توضیح دادم

قسمت دوازدهم :
در این قسمت sed رو توضیح دادم
در این لینک میتونید توضیحات خوبی درباره sed ببینید

قسمت یازدهم:

قسمت دهم :
در این قسمت اسکریپت دانلود قبل رو کامل میکنیم و زمان شروع و پایان دانلود بهش اضافه میکنیم و string manipulation رو شروع کردم و getopts و کار با aria۲ رو آموزش دادم.
این اسکریپت هنوز یه نقطه ضعف کوچیک داره که در جلسات آینده رفعش میکنیم 🙂

قسمت نهم :
قسمت هشتم :
قسمت هفتم :
در این ویدیو استفاده از آرگومان های ورودی هنگام اجرای اسکریپت رو توضیح دادم

قسمت ششم :
در این ویدیو حلقه for و until رو آموزش دادم و درباره IFS توضیح دادم .در این ویدیو اسکریپتی برای تشخیص فایلهای png و تبدیل اتوماتیک اونها به jpg و کم کردن خودکار حجم اونها مینویسیم

قسمت پنجم :
قسمت چهارم :
نکته ای که یادم رفت :
برای ضرب با expr قبل از علامت ستاره یه علامت بک اسلش بذارید 🙂 من فراموش کردم
echo `expr 2 \* 2`
قسمت سوم :
در این ویدیو کار کردن با متغییرها و if رو توضیح دادم و یه اسکریپت خواهید نوشت که محتویات home رو چک میکنه و اسم یک پوشه رو از کاربر میگیره و اگر موجود نبود پوشه رو ایجاد میکنه
در این ویدیو چند بار دستور if رو حلقه خطاب کردم که اشتباه هست . if دستور کنترلی محسوب میشه و while حلقه شرط که بعدا دربارش توضیح خواهم داد 🙂

قسمت دوم :
قسمت اول :
در این قسمت با مفاهیم مقدماتی مثل shell , sh , zsh , bash آشنا میشید

دیدگاه بگذارید
171 دیدگاه ها on "ویدیوهای آموزش Bash (قسمت پانزدهم اضافه شد)"
سلام استاد
استاد من این اسکریپتو با توجه به درس ۱۰ نوشتم ولی هر سوییچی رو که تست میکنم هیچ مقداری به من برنمگردونه
ممنون میشم راهنماییم کنید
#! /bin/bash
while getopts “name:pass:ram:vcpu:ip:mac:v” options;do
case “$options” in
name)
name=”$OPTARG”
echo $name ;;
pass)
pass=”$OPTARG” ;;
ram)
ram=”$OPTARG” ;;
vcpu)
vcpu=”$OPTARG” ;;
ip)
ip=”$OPTARG” ;;
mac)
mac=”$OPTARG” ;;
v) echo version 4.9.15
exit ;;
esac
done
echo $name
برای مثال زمانی که من برای -name مقداری وارد می کنم هیچ مقداری را برای من echo نمیکند
کد در این جا نیز اپلود شده
http://s8.picofile.com/file/8345391642/create.sh.html
سلام…مهندس خدا خیرت بده بابت ویدیوهای خوبت
ایشالا تو مراحل زندگیتون همیشه موفق باشین.
سلام یه اسکریپت میخوام برای کالی لینوکس که در محیط متاسپلویت قابل اجرا باشه موقع دسترسی به گوشی اندروید تموم فایل های که در پوشهcamera هستن رو از گوشی اندروید دانلود بشن به داخل سیستم لینوکسیم
ممنون میشم کمکم کنید
اول هزینه اش رو هم پرداخت میکنم
سلام
چطور میشه با استفاده از دستورات bash پیامک هاای گوشی رو پاک کرد؟ ایا میشه؟
سلام
استفاده از افزونه ی bash-support که روی vim نصب میشه هم واسه اسکریبت نویسی کمکای زیادی میکنه
سلام و وقت به خیر
ببخشید من میخوام یه اسکریپت بنویسم که یه مرورگر خاص(مثل فایر فاکس و یا Tor ) رو باز کنه و بعد به صورت خودکار چند تا سایت برام باز شه البته هر سایت بعد از لود شدن سایت قبلی .میشه یه راهنمایی بفرمایید.
ممنون میشم .
با سلام
تو قسمت دهم از آموزشتون که کد یک دانلود منیجر رو نوشتین فکر کنم باگ کوچیکی وجود داشته باشه. انتهای فانکشن endtime اگر بخوایم برنامه رو بجای killall aria2c با kill $PID ببندیم این اتفاق نمی افته و دانلود ادامه پیدا میکنه. البته امیدوارم اشتباه نکرده باشم اما فکر کنم تو این بخش باید PID مربوط به aria2c قزار بگیره تا برنامه کاملا متوقف بشه نه PID اسکریپت.
با سلام
ممنون از ویدئوهای مفیدتون. بسیار عالی بودن
فقط حیف که awk رو توضیح ندادین.
سلام آقای امیر صمیمی عزیز
notify-send تو ارچ من نصبه ولی اون اسکریپ اجرا میکنم تو دسکتاپ نمیاد انگاری فعال نیس
ویکی هم رفتم چیزی دستگیرم نشد قبلا کار میکرد امروز ارچ پاک کردم دوباره نصبش کردم دیگه کار نمیکنه
سلام
من مشکلی ندارم باهاش
اگر از دانلود منجر پرسپولیس استفاده میکنید، کد های پرسپولیس هم از همون برای فرستادن نوتیفیکیشن استفاده میکنه.
سلام اقای امیر صمیمی قسمت ۱۴ اسکریپ نویسی از آپارات حذف شده
سلام
حذف نشده
https://www.aparat.com/v/9Pxre
سلام اقای امیر صمیمی بسیار سپاس گذارم اموزش ها واقعا عالی هستن
🌹🌹
پس لطفا در قسمت ۱۴ لینکشو اصلاح کنید.ممنون
سلام
اضلاح شد 🙂
سلام اقای صمیمی من دلنشوی دکترا سویس هستم استادم واسه انالیز داده های ژنتیکی دو هفته بهم وقت داده ترمبنال و بش رو یاد بگیرم. فیلمای شما عالین ولی هیچمدوم از این دستورا تو اون نسخه ای که بهم دادن کار نمیکنه هر چی هم سرچ میکنم اموزشهاسهای اونارو نمیفهمم لطفا راهنمایم کنید
سلام
چه سیستم عاملی به شما دادند؟
یه سوال برام پیش اومده. اینکه چرا وقتی دو تا تابع رو همزمان با هم اجرا کردیم بعضی وقتا دو خط از یکی اجرا میشد؟!؟ مگه نباید یه خط از تابع اول و یه خط از تابع دوم اجرا بشه؟
آقا عالی تر از این سایت ندیدم ب خدا
آقای امیرصمیمی ادامه بدین ما حمایتتون میکنیم :)))))))
سلام آقای امیر صمیمی. من به تازگی وارد دنیای جذاب لینوکس شدم. و با ویدیو های آموزش شما آشنا شدم. خیلی چیزا از فیلمای شما یادگرفتم واقعا ممنون. منتظر مباحث جدید و فیلمای جدیدتون هستم. خیلی ممنون. :kiss:
سلام!خسته نباشید..ضمت تشکر از آموزش های خیلی عالی تون..
من میخوام یه برنامه بنویسم که فایل های .txt رو به فایل های .txt.back تبدیل کنه..چیکار کنم؟؟اول بایدبسوند تکست رو از فایل ها حذف کنم و بعدش بسوند تکست دات بک رو اضافه کنم؟؟یا میشه مستقیما هم تبدیل کرد…اگه میشه با چه دستوری؟؟
با سلام و عرض ادب خدمت شما
واقعا کاربردی و ازصفر آموزش دادید bash script ما منتظر ادامه این ویدیوها برای مباحث پیشرفته تر هستیم
اگر امکانش هست درباره پاورشل و برنامه نویسی اسمبلی هم آموزش بزارید
بازم خیلی تشکر
با عرض سلام و ادب
از بابت آموزش های عالی که بصورت رایگان گذاشتید بسیار متشکرم. بیصبرانه منتظر آموزشهای بیشترتون هستم. و از خداوند براتون آرزوی سلامتی و موفقیت دارم.
سپاس
سلام ویدیو ۱۴ لینکش خراب شده . لطفا برسسی کنید . ممنون
سلام مرسی بابت اموزش خوبتون
توزیع لینوکس و نام دسکتاپی که استفاده میکنید و شبیه مک هست چیه؟
دستوری همکه باید توی ویم ارسی وارد کنیم طبق اپرس سایتی که خودتون به من دادید اینه:
map :!git commit -a -m “test”
not a git repository
sttoping at filesystem boundary
shell return 128
سلام من نتونستم دستور chmod +x filename رو ست کنم این ارور رو میده وقتی که توی ویم ارسیم ذخیرش میکنم و کلید مربوطش رو میزنم…
سلام مجدد
یه سوال :برای map کردن دستور chmod +x filename.sh که هموم قابلیت اجرایی فایله با توجه به اینکه filename یه چیز مشخص و ثابت نیس باید چیکار کرد؟
یعنی اینکه کلید map ش رو توی فایل vimrc. باید چه طوری تعریف کنم؟
نمونه سوالتون در اینجا هست
https://unix.stackexchange.com/questions/34066/vim-bind-a-key-to-a-bash-command
فقط دستور مورد نظرتون رو جایگزین بفرمایید
سلام اقای امیرصمیمی
یه سوال با ترمینال چه طوری میشه به میکروفون pc دسترسی پیدا کرد ؟ اخه دارم اسکریپتی مینویسم که نیاز به دستور ضبط میکروفون دارم.
شما خودتون دستور های ترمینال بش رو از کجا گیر میارید سایت خواسی داره؟ میشه منبع معرفی کنید .
ممنون.
سلام
تجربه ای درباره این مورد خاص که میفرمایید ندارم
باید ببینید چه برنامه هایی یا چه ابزاری یا چه کانفیگ هایی برای دسترسی بهش هست
برای بش هم میتونید این راهنما رو ببینید
https://www.gnu.org/software/bash/manual/bash.pdf
سلام اقای امیر صمیمی خداقوت .
این script هایی که توی bash اموزش دادید رو تو ی windows هم میشه اجرا کرد ؟
مثلا همون notify-send رو؟
notify-send یک نرم افزار هست که شما در سیستم لینوکسی خودتون نصب میکنید (یا نصب دارید) و از طریق بش به عنوان شل سیستم باهاش ارتباط برقرار میکنید. در ویندوز شاید شما بش رو به عنوان شل نصب کنید و دسترسی داشته باشید ولی نرم افزار notify-send رو ندارید
یه سوال دیگه اینکه بعضی از سوییچ ها و دستور ها ی scrip نویسی که استفاده کردید رو نتونستم توی manual اون پیدا کنم میشه بگید از کجا پیدا کردید؟
مثلا سوییچ s- در دستور read
این رو ببینید
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_08_02.html
سلام اقا خیلی عالیه
یه سوال برام پیش اومد این که توی دستور if داخل “” که باید متغییر فراخونی کنیم اگه بخواییم directory فراخونی کنیم . جدای از سوییچ f- . برای directory های غیر از home که خودش متغییری با نام HOME داره چه جوری باید متغییر تعریف کرد؟
ممنون
متوجه سوالتون نشدم
ولی میتونید آدرس پرونده و فایل و … رو به عنوان رشته تعریف کنید و در مواقع لازم ازش استفاده کنید
کلا اگه بخوایم یه دیرکنوری رو به عنوان یه متغیر به کار ببریم چی طوری میشه این کار رو کرد؟مث HOME که متغییر دیرکتوری هومه.
با سلام و تشکر خدمت آقای امیرصمیمی. ویدیو آموزشیتون بسیار مفید و خوب بودند .
استاد اگه امکانش هست آموزش زبان پایتون را هم در ادامه ی برنامه هاتون بزارین . ^_^
سلام
ممنونم از لطفتون
دوستان زیادی آموزش پایتون تهیه کردند
فکر میکنم دوباره کاری باشه
با سلام خدمت استاد عزیز. تشکر بابت فیلم های بسیار عالیتون. ۱ سوال داشتم از خدمتتون. بنده یه اسکریپت ساده که ۲ تا پروسه را به صورت همزمان اجرا کند را میخوام در ابتدا اجرا و سپس نتایج آن ها را در داخل یک فایل نمایش دهم.
اما مشکل اینجاست که پروسه اول که زمینه میشود اجرا میشوذ اما هیچ چیزی را نمایش نمیدهد و فایل مربوطه خالی است.
#!/bin/bash
f=
iperf3 -u -c 127.0.0.1 -p 5206 -i 5 -t 5 -b 0
&d=
iperf3 -u -c 127.0.0.1 -p 5207 -i 5 -t 5 -b 0
wait
echo “$f” > ee.txt
echo “$d” > er.txt
سلام
سپاس از لطفتو ببینید stdout کمکتون میکنه؟
https://stackoverflow.com/questions/876239/how-can-i-redirect-and-append-both-stdout-and-stderr-to-a-file-with-bash
سلام اموزشها ادامه پیدا نمیکنه؟
سلام خسته نباشید
چطوری میتونم یه فایل bash script یا یه همچین چیزی درست کنم شامل یه سری command ها که بتونم هر وقت خواستم فایل رو اجرا کنم و یه سری عملیات مثل بک آپ گیری یا … رو انجام بدم؟
ممنون میشم کمی راهنمایی بفرمایید
سلام
ویدیوهای آموزش بش اسکریپتی که گذاشتم رو ببینید.
سلام و عرض ادب
در صورت امکان درخصوص پروفایلهای لینوکس راهنمایی میخواستم
سوالتون دقیقا چی هست؟ اگه بلد باشم حتما پاسخ میدم
سلام اقای صمیمی وقتتون بخیر من چند تا قسمت bash نگاه کردم واقعا زبان بسیار قدرتمندی هست یه جوری هایی شبیه روبی بود یه سوال bash اینقدر قدرتمند هست که بشه باهاش چیزی مثل انتی شلر برای سرورهای لینوکسی ساخت
سلام
اطلاع ندارم متاسفانه
ویدیو ها واقعا عالیه
یه ویدیو ۳۰ دقیقه ای رو پلی میکنم و کنارش ترمینال رو باز میکنم، همراهتون کد میزنم، هر دستوری که برام جدیده رو گوگل میکنم و ته و توشو در میارم، دستورای ریزی که لابلای آموزش های اصلی گفته میشه خیلی خوبه، هر ویدیویی که میبینم یه ذره ترمینالم رو شخصی سازی میکنم و یه سری فیچر ها به bashrc اضافه میکنم، کامند های خود ساخته مث timer و alarm clock و اینجور چیزا همینطوری داره به دستورات ترمینالم اضافه میشه.
شکل آموزش هم صمیمی و کاربردیه!
خیلی ممنون آقای امیرصمیمی.
سپاس از لطفتون🌹
ممنون برای این حرکت ارزشمند
در پناه خداوند موفق و سربلند باشید
سپاس از لطفتون 🌹
خیلی دلم میخواد این آموزشها رو ببینم و یاد بگیرم.
اما یه دلیل محکم و قانع کننده میخوام واسه اینکار.
باید بدونم واقعا به چه دردم میخوره.
کاش یه ویدئو هم در مورد دلایل یادگیریش درست میکردین.
ویدئو هم نشد ممنون میشم همینجا یا توی یه پست جدید در موردش توضیح بدین.
سلام
قسمت اول رو ببینید توضیح دادم
روش و سبک آموزشی شما خیلی عالی
اگه بشه آموزش طراحی سایت هم داشته باشیم خیلی خوب میشه
ممنونم از لطف شما 🙂 متاسفانه تخصصی در طراحی سایت ندارم
حیف شد
طراحی روبات تلگرام چی؟ امیدوارم در این مورد بتونیم کمک بگیریم
متاسفانه توی این زمینه هم کار نکردم
سلام مجدد . اون فونتی که توی ارچ لینوکس استفاده می کنید چیه ؟؟؟ خیلی باحاله !!!
سلام
اسم فونت
Poiret One
هست
از فونتهای آزاد شرکت گوگل هست . سرچ بفرمایید پیداش میکنید
سلام مهندس و موزیسین عزیز
آقا یه سوال من دارم با آموزشهای عالیه شما پیش میرم قسمت ۱۵ قسمت آخر آموزش بش اسکریپت هست یا ادامه داره؟
سلام
مدتی هست درگیر پروژه پرسپولیس هستم . انشالله کمی سرم خلوت شد ادامه خواهم داد 🙂
سلام خدمت شما بنده با آموزش ها پیش رفتم اما به یه مشکل برخوردم اونم اینکه که وقتی فلان دایرکتوری رو
وارد میکنم پیغام رو اکو نمیکنه . !؟؟!؟!؟ مشکل کجاست مهندس ؟؟ ضمن حل مشکل توضیح هم بدید . ممنون
#!/bin/bash
clear
read -p “PLEASE ENTER A NAME : ” name
clear
if [ “$name” == “JAVAD” ];then
clear
read -p “PLEASE ENTER A DIRECTORY :” dir
if [ -d “$HOME/$dir” ];then
echo “OK !”
fi
else
echo “UNKNOWN !”
exit
fi
سلام
اگه میشه کدتون رو جایی بذارید و اینجا لینک بدید
https://paste.ubuntu.ir/
دوست عزیز
کد اصلاح شده شما
#!/bin/bash
clear
read -p “PLEASE ENTER A NAME : ” name
clear
if [ “$name” == “JAVAD” ];then
clear
read -p “PLEASE ENTER A DIRECTORY :” dir
if [ -d “$HOME/$dir” ];then
echo “OK !”
fi
else
echo “UNKNOWN !”
fi
exit
سلام و عرض ادب در مورد نصب کارت گرافیک و صدا بر روی کالی لینوکس فیلم اموزشی خاصی دارید ??
سلام
من تا حالا از کالی استفاده نکردم
احتمالا دوستانی که در زمینه امنیت در وب تخصص دارند بتونن به شما کمک کنند
خیلی عالی.
من اگه اینا رو یاد بگیرم کارم توی i3 پیش میره؟
سلام ممنونم
والا نمیدونم کار شما چیه که راه بیفته 🙂 امیدوارم راه بیفته
سلام میلاد خان
والا راستش یادم نیست توی اون آموزش چه اسکریپتی نوشتم و این مشکل وجود داره یا نه!مال خیلی وقت پیش هست
در ضمن هدف اسکریپت های این سری آموزش ها اینه که فرد تازه کار یه سری مفاهیم ساده رو با برنامه های نه چندان پیچیده تمرین کنه و اصول رو تا حد خوبی یاد بگیره و ممکن هست مشکلاتی وجود داشته باشه چون هدف یه برنامه با جزئیات دقیق نیست 🙂
امیدوارم در اولین فرصت بتونم آموزش ها رو ادامه بدم
سلام استاد ممنون از آموزش ها یه مشکلی داشتم استاد
این عکس را ببینید
بعد از اجرای اسکریپت two.sh دستور echo hello اجرا نمیشه
چجوری میتونم ادامه اسکریپت را اجرا کنم استاد
خیلی ممنون میشم مرسی.
سلام حتما به اسکریپت two.sh قابلیت اجرا بدید (با دستور chmod) و حتما مطمئن بشید مه با اسکریپت اجرایی شما در یک پوشه هستند . نیازی به exec نیست! فقط بنویسید
./two.sh
البته گذاشتن exec هم مشکلی به وجود نمیاره ولی نباید two.sh رو داخل دابل کوتیشن بذارید
فوق العاده ای استاد مرسیییی!
نیازی به exec و دابل کوتیشن نبود بعد از برداشتن به درستی اجرا شد.
مرسیییی
سلام
ببخشید تو lubuntu یا LXLE فایل bashrc کجاست؟ تو پوشه home نیست! مخفی هم نیست
خودتون میتونید در home به وجودش بیارید و تنظیمات مورد نظر رو داخلش بذارید . این لینک رو ببینید که در ویکی آرچ آمده و توضیحات کاملی داره
ویکی آرچ لینوکس درباره bash
سلام میخواستم بپرسم چطور می شه یک رابط گرافیکی برای اسکریپت نوشت ؟
سلام
منظورتون برای اسکریپت bash هست؟
اصولا bash برای رابط گرافیکی ساخته نشده ولی برای یه رابط گرافیکی ساده میتونید از zenity و kdialog استفاده کنید
میشه بیشتر توضیح بدین
اینو بخونید
https://help.gnome.org/users/zenity/stable/
با عرض سلام و احترام
مهندس امیر صمیمی من ویدئوهای آموزش شل اسکریپت شما را تا قسمت دهم نگاه کردم. بخش بسیاری از آن مفید بود. امید بود که این دوره را در سطوح حرفه ای تر و با برنامه ریزی و دسته بندی دقیق تر ادامه میدادید . چون تقریبا شما تنها کسی هستید که در ایران در این زمینه در اینترنت به صورت رایگان فعالیت میکنید. از حرکت بسیار با ارزش شما سپاسگزارم.
به امید اینکه دوره های قوی تری از شل اسکریپت در اختیار علاقه مندان قرار دهید.
ممنونم از محبتتون 🌹🌹
با ســــــــــــــلام
آموزش بسیار مناسبی را تهیه کرده اید، با این سری آموزش ها bash نویسی پایه را به خوبی در طول یک روز یاد گرفتم و بسیار مفید واقع بود، اما «شخصیت شما» را بیشتر دوست داشتم و از تماشای ویدئوکست لذت می بردم.
اینجانب بر خود وظیفه میدانم در کسوت شاگردی از زحمات و خدمات ارزشمند شما استاد گرانقدر تقدیر و تشکر نمایم.
از خداوند متعال برایتان سلامتی ، موفقیت و همواره یاد دادن را مسئلت دارم.
ممنونم از محبتتون 🌹
شرمنده کردید
سلام مهندس خسته نباشید

یه مشکلی داشتم ممنون میشم راهنمایی کنید
چرا اسکریپت نمیتونه ls بگیره مسیر هم echo کردم میبینید که مسیر درسته 😐
به صورت دستی تو ترمینال ls گرفتم مشکلی نداشت
اینم فایل اسکریپت:
http://s9.picofile.com/file/8268776492/convertor.sh.html
یه نکته مهم و کوچولو 🙂
از tab استفاده کنید اینجوری اسکریپتتون خوانا میشه . خیلی نکته مهمی هست
اینجور وقتها از eval استفاده کنید (هنوز توی ویدیوها توضیح ندادم) . مثلا
file='ls $HOME/Pic/*png'
eval $file
سلام
شرمنده یه جاهایی رو جا انداختم تب نزدم. بله حتما مرسی 🌹
سلام مهندس


آقا از eval استفاده کردم وقتی از تک کوتیشن استفاده میکنم اینتوری میشه
و با ` که پایین ESC هست اینبار ls جواب داد ولی عکس تبدیل نشد 😐
بد نوشتی اسکریپتت رو 🙂
برات بازنویسیش کردم چک کن
سعی کن همیشه از اسم های مشخص برای متغییرهات استفاده کنی f1 و … اسم های مناسبی نیست و خوندن اسکریپتت رو سخت میکنه
دستور eval رو نباید توی for مینوشتی . خروجیش رو توی for قرار بده . توی خطوط اول متغییرها رو هم کامنت کن
اینجا برات اسکریپت رو گذاشتم
https://paste.ubuntu.ir/hplh
ببخشید دیگه تازه واردم ، بله حتما ، خیلی ممنونم لطف کردین
دومی هم یادم اومد تو بش یادمه تو یکی ار اموزش ها دوتا عمل رو با هم انجام دادید چطوری این حرکت رو تو سی پلاس پلاس میشه اجرا کرد ؟
میخواستم تو پاسخ سوال قبلی اینم بپرسم ارور داد
من با پایتون کد میزنم خیلی از سی پلاس پلاس سر در نمیارم متاسفانه 🙂