مشکل در نوشتن کد 4 عمل اصلی - نسخه قابل چاپ +- انجمن کاربران لینوکس ایران - تکنوتاکس سابق (https://forum.sito.ir) +-- انجمن: پرسشها و پاسخها (https://forum.sito.ir/forumdisplay.php?fid=3) +--- انجمن: لینوکس و برنامه نویسی (https://forum.sito.ir/forumdisplay.php?fid=13) +--- موضوع: مشکل در نوشتن کد 4 عمل اصلی (/showthread.php?tid=16634) |
مشکل در نوشتن کد 4 عمل اصلی - kms11 - 2011-01-02 با سلام خدمت دوستان. من 4 عمل جمع و تفریق و ضرب و تقسیم رو نوشتم اما وقتی ضرب رو می خوام تست کنم جواب نمیده. توی اجرا عمل ضرب رو توی تک کوتیشن میذارم اما فرقی نمیکنه. برای اجرای جمع : ./calc 2 + 3 جواب میده اما ضرب ./calc 3 ‘*’ 5 اینو جواب نمیده. این کد رو اشتباه نوشتم.؟یا؟ [[code #!/bin/bash If [ $# != 3 ] Then Echo missing data Exit Fi echo $1 echo $2 echo $3 #plus operation If [ $2 = + ] Then Expr $1 + $2 Exit Fi #minus operation If [ $2 = - ] Then Expr $1 - $2 Exit Fi #multiply operation If [ $2 = * ] Then Expr $1 ‘*’ $2 Exit Fi #division operation If [ $2 = / ] Then Expr $1 / $2 Exit Fi [code\] پاسخ: مشکل در نوشتن کد 4 عمل اصلی - bsdlinux - 2011-01-02 کد : #!/bin/bash پاسخ: مشکل در نوشتن کد 4 عمل اصلی - bsdlinux - 2011-01-02 در هیچ جای برنامه نباید $2 را تنها بگذارید به این دلیل در صورت درخواست عمل ضرب عملگر * در تمام نقاط برنامه expand میشود به نام فایل های دایرکتوری از جمله خطی که echo در آن است و تمام if ها و ... . کل برنامه به هم میریزد... در هنگام اجرای برنامه برای انجام عمل ضرب هم از * تنها به هیچ وجه استفاده نکنید... الان برنامه اجرا می شود: کد : [fedoraman@mydesktop ~]$ ./aa 2 + 3 پاسخ: مشکل در نوشتن کد 4 عمل اصلی - kms11 - 2011-01-02 ممنون عملگر ضربم درست شد. اما نمیدونم چرا وقتی عمل ضرب رو انجام میده هرچی دایرکتوری قبلا ساختم هم اسامیشو نمایش میده؟؟! پاسخ: مشکل در نوشتن کد 4 عمل اصلی - kms11 - 2011-01-02 توی خطای اول $2 رو بدون دبل کئتیشن گذاشته بودم. بخاطر اون بود همونطور که گفتید. بینهایت تشکر پاسخ: مشکل در نوشتن کد 4 عمل اصلی - bsdlinux - 2011-01-02 خواهش میکنم. فقط آقا یک خطای مهم در برنامه شما دیدم که یادم رفت بگم: دقت کنید ' با ` فرق میکند. اولی SINGLE QUOTE نام دارم و دومی BACK QUOTE... دومی باعث میشود که هرچیز که داخلش است اجرا شود و خروجی آن جای خودش قرار بگیرد. مثلا: کد : MYDATE_CORRECTFORM=`date` این هم خیلی مهم است... موفق باشید Re: پاسخ: مشکل در نوشتن کد 4 عمل اصلی - kms11 - 2011-01-02 bsdlinux نویسنده :خواهش میکنم. فقط آقا یک خطای مهم در برنامه شما دیدم که یادم رفت بگم: دقت کنید ' با ` فرق میکند. اولی SINGLE QUOTE نام دارم و دومی BACK QUOTE... دومی باعث میشود که هرچیز که داخلش است اجرا شود و خروجی آن جای خودش قرار بگیرد. :lol: بله مرسی متوجه شدم |