SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

..::: تاپیک جامع اموزش شل اسکریپت :::..

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • ..::: تاپیک جامع اموزش شل اسکریپت :::..

     [align=center]به نام خدا
    سلام خدمت تمامی دوستان

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

    برای شروع اول نیازهست اشنایی کاملی با Bash داشته باشید
    [/align]-- خب نیازه یک ادیتور راحت رو برای خودتون انتخاب کنید من خودم ادیتور VI رو میپسندم ولی فعلا کارکردن باهاش براتون کمی مشکل هست پیشنهاد من ادیتور نانو هست 

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

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

     

    کد:
    cat > First-Project
    
    touch Num1
    
    touch Num2
    
    touch Num3
    
    echo " Complete " 
    برای دخیره و خروج هم دکمه های کنترل + d رو میزدیم

    echo برای چاپ کردن و نمایش پیغام هست.اگر php کار کرده باشید احتمالا برای شما اشنا باشه.به این صورت استفاده میشه دستور echo و بعد هم متن مورد نظر توی دوتا ” ” نوشته میشهخب حالا یک فایل نوشتاری با نام First-Project درست کردیم و توی اون چند دستور قرار دادیم تا برای ما ۳ فایل با نام های Num 1 2 3 درست کنه و یک پیغام رو به ما نشون بده.
    کد:
    sh First-Project
    برای اجرای اسکریپتمون از دستور sh استفاده میکنم و اسکریپت اجرا میشه 

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

    کار بسیار اسونی هست.برای این جلسه کافی هست. 

    یا علی  
    [align=center][/align]
    [align=center][/align]

  • #2
    RE: ..::: تاپیک جامع اموزش شل اسکریپت :::..

    سلام 

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

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

    توی این جلسه قراره باهم خروجی های رنگی و افکت متن رو تمرین کنیم 


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

    خب اول باید وظیفه این کار رو بدیم دست Bash برای همین ما در اسکریپت تعریف میکنیم که از bash استفاده کنه !
    کد:
    #!/bin/bash
    در خط بعد هم ترمینال رو پاک سازی میکنیم تا اسکریپت ما از خط اول ترمینال اجرا بشه 
    کد:
    clear
    خب ما از echo برای نمایش دادن متنمون استفاده میکنیم به این صورت :
    کد:
    echo test
    خب ما در خروجی متن Test رو مشاهده میکنیم 

    خب echo یک سری تنظیمات داره یکیشون افکت متن هست که با -e استفاده میشه 

    به این صورت :
    کد:
    echo -e "33[1m Hello World"
    درخروجی کد بالا ما متن داریم به صورت bold شده 

     مثال رو ببینید :

    کد:
    #!/bin/bash
    clear 
    echo -e "33[1m Hello World"
    # bold effect
    echo -e "33[5m Blink"
    # blink effect
    echo -e "33[0m Hello World"
    # back to normal
    echo -e "33[31m Hello World"
    # Red color
    echo -e "33[32m Hello World"
    # Green color
    echo -e "33[33m Hello World"
    # See remaining on screen
    echo -e "33[34m Hello World"
    echo -e "33[35m Hello World"
    echo -e "33[36m Hello World"
    echo -e -n "33[0m"
    # back to normal
    echo -e "33[41m Hello World"
    echo -e "33[42m Hello World"
    echo -e "33[43m Hello World"
    echo -e "33[44m Hello World"
    echo -e "33[45m Hello World"
    echo -e "33[46m Hello World"
    echo -e "33[0m Hello World"
    در اسکریپت بالا خروجی ما به این شکل است :

    کد:
    [root@IRH-Lab ~]# chmod 755 Script.sh
    [root@IRH-LAb ~]# ./Script.sh
    
    [b]Hello World[/b]
    [i]Blink[/i]
    [color=#008000]Hello World[/color]
    [color=#FF0000]Hello World[/color]
    [color=#00FF00]Hello World[/color]
    [color=#FFFF00]Hello World[/color]
    [color=#0000FF]Hello World[/color]
    [color=#EE82EE]Hello World[/color]
    [color=#AFEEEE]Hello World[/color]
    Hello World
    Hello World
    Hello World
    Hello World
    Hello World
    Hello World
    Hello World
    البته hello world های اخر رنگ دارند ولی دارای کادر رنگی میشن ولی ادیتورفروم نداشت من تگ نکردم 

    خب برای اینکه اپشن ها و رنگ های دیگه رو بهتر ببینیدبه ادرس http://jafrog.com/2013/11/23/colors-in-terminal.html

    کامل توضیح داده شده

    امیدوارم اموزش خوبی براتون باشه
    تا جلسه بعد یا علی
    [align=center][/align]
    [align=center][/align]

    نظر


    • #3
      RE: ..::: تاپیک جامع اموزش شل اسکریپت :::..

      [align=center]به نام خدا[/align]
      در این جلسه باهم ارسال ایمیل در شل اسکریپت رو کار میکنیم

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

      برای شروع باید چندین پارامتر رو تعریف کنیم 

      اول از همه باید ایمیل خودمون رو مشخص کنیم 
      کد:
      EMAIL:[email protected]
      در مرحله بعد مقداری رو به عنوان حداکثر میزان اطلاعات نوشته شده در پارتیشن انتخواب میکنیم . من برای راحتی کار از درصد استفاده میکنم شما میتونید با اپشن های دیگه حجم رو به شکل های دیگر انتخواب کنید
      کد:
      MAX:95
       و باید یک پارامتر هم به عنوان پارتیشن مورد نظرمون انتخواب کنیم :
      کد:
      PART:sda1
       [align=center] [/align]بعد باید دستور  گرفتن اطلاعات از خروجی دستور df رو بزنیم
      کد:
      USE=`df -h |grep $PART | awk '{ print $5 }' | cut -d'%' -f1`
      همانطور که  میبینید ما اول دستور df -h رو میزنیم و در خروجی به دنبال sda1 میگردیم . میزان فضای پر شده هارد رو میگیریم و ذخیره میکنیم 

      حال باید یک دستور شرطی قرار بدهیم 
       
      کد:
      if [ $USE -gt $MAX ]; then
      خب همانطور که میبنید : اگر ! خروجی USE بزرگتر از (در اینجا منظور از -gt یعنی greater than که در اینده کامل برروی اپشن های if بررسی خواهیم کرد ) میزانی که برای حداکثر فضای پرشده هارد مشخص کردیم باشد !

      در ادامه 
      کد:
        echo "Percent used: $USE" | mail -s "Running out of disk space" $EMAIL
      میزارن فضای پارتیشن با استفاده از ایمیل که مشخص کردیم به ایمیل ما ارسال میشود و به ما اخطار میدهد در ادامه هم باید یک fi اضافه کنیم 

      سورس به صورت مرتب :

      کد:
      MAX=95
      [email protected]
      PART=sda1
      USE=`df -h |grep $PART | awk '{ print $5 }' | cut -d'%' -f1`
      if [ $USE -gt $MAX ]; then
        echo "Percent used: $USE" | mail -s "Running out of disk space" $EMAIL
      fi
       
      [align=center][/align]
      [align=center][/align]

      نظر

      صبر کنید ..
      X