انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: Fire.Phoenix در 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 را با این ترکیب میکنم خظا میدهد
-
منظورت اینجوریه؟
#!/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
-
منظورت اینجوریه؟
#!/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
دست شما درد نکند دقیقا همین بود
-
خواهش میکنم ;)
راستی یه سری از $ هایی که گذاشتی نیازی نیست
مثلا میتونی اینجوری بنویسی
#!/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