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

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

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

نویسنده موضوع: چرا این جواب درستی نمیده !!  (دفعات بازدید: 2358 بار)

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

آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
چرا این جواب درستی نمیده !!
« : 05 اردیبهشت 1390، 10:22 ب‌ظ »
سلام دوستان من از روی اموزشی که تو قسمت برنامه نویسی سایت چسبونک شده داشتم برنامه نویسی یاد میگرفتم که هر کار میکنم این جواب درستی بهم نمیده ](*,) ](*,)

#!/bin/sh
# fist
# this is my first script and it is from forum.ubuntu.ir

for file in *
do
if grep -q  POSIX $file
then
echo $file
fi
done

exit 0


این جوابی که میده  ((فایل تو  هم  دایرکتوریه ))

grep: �����: No such file or directory
grep: �����: No such file or directory
hello.sh
grep: The: No such file or directory
grep: KMPlayer: No such file or directory
grep: Ubuntu: No such file or directory
grep: One: No such file or directory
alieblice@alieblice-MS-7360:~$
alieblice@alieblice-MS-7360:~$ exit 0

اگرم بگین که این چه کاری رو میخاد انجام بده خیلی خوب میشه

پیشاپیش ممنون.

آفلاین فاراب

  • High Hero Member
  • *
  • ارسال: 1352
  • آزادی
    • پروفایل لینکداین
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #1 : 05 اردیبهشت 1390، 10:56 ب‌ظ »
اسم فایل که فارسی نیست؟
Godisnowhere

آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #2 : 05 اردیبهشت 1390، 11:02 ب‌ظ »
اسم فایل hello هستش

آفلاین HojjatJafary

  • Full Member
  • *
  • ارسال: 107
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #3 : 06 اردیبهشت 1390، 07:38 ب‌ظ »
درستش اینه:
#!/bin/sh
# first
# this is my first script and it is from forum.ubuntu.ir

for file in "*"
do
if grep -q  POSIX $file
then
echo $file
fi
done

exit 0
علامت * رو باید داخل دابل کوتیشن بذاری.

آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #4 : 06 اردیبهشت 1390، 09:38 ب‌ظ »
ممنون
حد اقل الان یک جوابی بهم میده
کسی میتونه خیلی ک.تاه که زحمتی مشه توضیح بدین که این چه کاری ان جام میده ؟

آفلاین فاراب

  • High Hero Member
  • *
  • ارسال: 1352
  • آزادی
    • پروفایل لینکداین
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #5 : 06 اردیبهشت 1390، 11:51 ب‌ظ »
پیشنهاد میدم اگه به اسکریپت نویسی علاقه دارید از صفر شروع کنید. اینجوری نمیشه.
خط اول میگه از مفسر bash استفاده کن. دو خط بعدی کامنت هستند و نادیده گرفته میشن. حلقه for برای جستجوی تمام فایل ها با پترن خاصی هست که در نهایت در صورت وجود فایل نامش در خروجی چاپ میشه. exit 0 هم برای پایان اسکریپت لازمه و به سیستم عامل میفهمونه که برنامه خروجی به سیستم عامل نمیده، مثل C
« آخرین ویرایش: 08 اردیبهشت 1390، 03:36 ب‌ظ توسط فاراب »
Godisnowhere

آفلاین جادی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1610
    • در دفاع از آزادی بیان
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #6 : 07 اردیبهشت 1390، 11:25 ق‌ظ »
گفتی که داری برنامه نویسی یاد می گیری. در موقع یاد گرفتن باید بتونی مشکلات خودت رو کشف و حل کنی. اگر نمی تونی مشکلی رو کشف و حل کنی معنی اش اینه که اون کار برات زیادی پیشرفته است و در نتیجه از انجامش هم چیزی یاد نمی گیری.

به نظرم یک قدم بیا پایینتر. از یک مرجع خوب مرحله به مرحله برو جلو. سعی کن انگلیسی بخونی که با یک تیر دو نشون زده باشی. انگلیسی بلد بودن در دنیای لینوکس بسیار مهتمر از بش اسکریپت بلد بودن است (:
آزادی کیبورد حق هر انسان است - جادی

آفلاین ٍاحسان ترکم

  • High Hero Member
  • *
  • ارسال: 1039
  • جنسیت : پسر
  • Open your source, Open your mind
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #7 : 07 اردیبهشت 1390، 11:46 ق‌ظ »
bash script خیلی راحته وا گه کمی وقت بگذارین و از تقریبا صفر شروع کنین می تونید راحت حرفه ای بشید.

و دوم این ک با کدا ور برین و هی تغییر بدین و خلاقیت به خرج بدید و کارتون صرفا کپی و پیست و اجرا کردن مثال ها نباشه.

ببخشید کمی رک گفتم  ::)
بین نرم‌افزار open source و نرم‌افزارهای Free Software تفاوت در روش تبلیغ و گرایش‌های عرضه‌كنندگان آن‌ها نهفته است.
در واقع كاركرد شما به عنوان عرضه كننده نرم‌افزار تفاوتی نمی‌كند،



آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #8 : 07 اردیبهشت 1390، 01:21 ب‌ظ »
ممنون از راهنمایی همه ی دوستان

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

آفلاین ٍاحسان ترکم

  • High Hero Member
  • *
  • ارسال: 1039
  • جنسیت : پسر
  • Open your source, Open your mind
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #9 : 07 اردیبهشت 1390، 06:40 ب‌ظ »
ممنون از راهنمایی همه ی دوستان

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

اول اول از یه ساخت یافته شروع کن مثل c یا اگه نخواستی c++.
 بعد که خوب یاد گرفتی حالا اگه بخوای زبان دیگه ای رو یاد بگیری 50 در صد عین همه فقط یه کمی syntax  (نهوه نوشتن) شون فرق داره. مثلا for تو c++ با java تقریبا یکی اند حتی با پاسکال.
for (i=1; (i<p2); i++){
r = r * p1;
printf("\n Enter a number: ");
}
تو پاسکال
for i = 1 to 10
begin
i:=i+1;
end;
تو بیسیک
for i = 0 to 10
print "Please Type Numbers: "
next i
بین نرم‌افزار open source و نرم‌افزارهای Free Software تفاوت در روش تبلیغ و گرایش‌های عرضه‌كنندگان آن‌ها نهفته است.
در واقع كاركرد شما به عنوان عرضه كننده نرم‌افزار تفاوتی نمی‌كند،



آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #10 : 07 اردیبهشت 1390، 08:20 ب‌ظ »
ممنون از راهنمایی تون

آفلاین جادی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1610
    • در دفاع از آزادی بیان
پاسخ به: چرا این جواب درستی نمیده !!
« پاسخ #11 : 08 اردیبهشت 1390، 01:40 ب‌ظ »
زبون انتخاب خودته و هیچ کس هم به نتیجه نرسیده که بهتره با کدوم زبون آموزش شروع بشه. من شخصا زبون های اسکریپتی رو به سی ترجیح می دم. سی پایه ای است. کتابش رو می تونی بخونی و مفاهیم برنامه نویسی رو درک کنی و برنامه بنویسی. بعدش اگر من باشم می رم سراغ یک زبون اسکریپتی مثل پرل یا پایتون برای سریعتر پیش رفتن و راحت تر به نتیجه رسیدن.
آزادی کیبورد حق هر انسان است - جادی

آفلاین بهروز رمضانی

  • High Hero Member
  • *
  • ارسال: 1111
  • جنسیت : پسر
  • Kakashi Hatake
    • ابونتو نیوز
پاسخ : چرا این جواب درستی نمیده !!
« پاسخ #12 : 22 فروردین 1391، 10:11 ب‌ظ »
سلام راستش میخواستم یه اسکریپت را حذف فاصله اسم فایلهای یه دایرکتوری بنویسم اما به مشکل خوردم این اسکریپت هست
#!/bin/bash
while find . -name "* *.*"
   do rename " " _ *\ *
done
exit 0

اما بعد از اینکه فاصله بین اسامی تمامی فایلها حذف شد حلقه خاتمه پیدا نمیکنه و مرتب ای خروجی را میده
rename: renaming * * to *_* failed: No such file or directory
rename: renaming * * to *_* failed: No such file or directory
rename: renaming * * to *_* failed: No such file or directory
rename: renaming * * to *_* failed: No such file or directory

حالا یه سوال دارم مگر تا زمانی که شرط حلقه برقرار باشه ( یعنی فایلهای پیدا بشه که داخل اسامیشون فاصله باشه ) حلقه باید تکرار بشه و به محض برقرار نبودن شرط حلقه به پایان برسه . اما این طور نمیشه چرا ؟
در یادگیری و استفاده از خط فرمان کوشا باشید چرا که رستگاری شما در آن است.