انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: مشکل در ترکیب while و if (حل شد)  (دفعات بازدید: 848 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین Fire.Phoenix

  • Full Member
  • *
  • ارسال: 108
مشکل در ترکیب while و if (حل شد)
« : 24 امرداد 1394، 10:21 ب‌ظ »
سلام یک مشکلی در ترکیب این دستور با if در محیط bash دارم
#!/bin/bash
partsize=5
partstart=0
x=0
size=93

while [ $x -le 4 ]
do
  echo "Welcome $partstart - $partsize times"
  partstart=$(( $partsize + 1))
  partsize=$(( $partsize + $partsize + 1))
  x=$(( $x + 1 ))
done
میخواهم وقتی partsize از size بیشتر شد در echo مقدار partsize را خالی(بدون عدد) بگذارد و از while خارج شود هر جور if را با این ترکیب میکنم خظا میدهد
« آخرین ویرایش: 24 امرداد 1394، 10:59 ب‌ظ توسط Fire.Phoenix »

آفلاین علیرضاامیرصمیمی

  • ناظر انجمن
  • *
  • ارسال: 2489
  • جنسیت : پسر
  • Arch Linux + KDE
    • وبسایت شخصی من
پاسخ : مشکل در ترکیب while و if
« پاسخ #1 : 24 امرداد 1394، 10:42 ب‌ظ »
منظورت اینجوریه؟
#!/bin/bash
partsize=5
partstart=0
x=0
size=93

while [ $x -le 4 ]
do
  if [ $partsize -gt $size ];then
      partsize=""
        echo "Welcome $partstart - $partsize times"
        break
  fi
  echo "Welcome $partstart - $partsize times"
  partstart=$(( $partsize + 1))
  partsize=$(( $partsize + $partsize + 1))
  x=$(( $x + 1 ))
done

آفلاین Fire.Phoenix

  • Full Member
  • *
  • ارسال: 108
پاسخ : مشکل در ترکیب while و if
« پاسخ #2 : 24 امرداد 1394، 10:48 ب‌ظ »
منظورت اینجوریه؟
#!/bin/bash
partsize=5
partstart=0
x=0
size=93

while [ $x -le 4 ]
do
  if [ $partsize -gt $size ];then
      partsize=""
        echo "Welcome $partstart - $partsize times"
        break
  fi
  echo "Welcome $partstart - $partsize times"
  partstart=$(( $partsize + 1))
  partsize=$(( $partsize + $partsize + 1))
  x=$(( $x + 1 ))
done
دست شما درد نکند دقیقا همین بود

آفلاین علیرضاامیرصمیمی

  • ناظر انجمن
  • *
  • ارسال: 2489
  • جنسیت : پسر
  • Arch Linux + KDE
    • وبسایت شخصی من
پاسخ : مشکل در ترکیب while و if
« پاسخ #3 : 24 امرداد 1394، 10:55 ب‌ظ »
خواهش میکنم ;)
راستی یه سری از $ هایی که گذاشتی نیازی نیست
مثلا میتونی اینجوری بنویسی
#!/bin/bash
partsize=5
partstart=0
x=0
size=93

while [ $x -le 4 ]
do
  if [ $partsize -gt $size ];then
      partsize=""
        echo "Welcome $partstart - $partsize times"
        break
  fi
  echo "Welcome $partstart - $partsize times"
  partstart=$(( partsize + 1))
  partsize=$(( partsize + partsize + 1))
  x=$(( x + 1 ))
done