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

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

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




نویسنده موضوع: اجرای اسکریپتم  (دفعات بازدید: 807 بار)

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

آفلاین rahimi12

  • Full Member
  • *
  • ارسال: 228
  • جنسیت : دختر
اجرای اسکریپتم
« : 05 فروردین 1396، 10:12 ب‌ظ »
سلام دوستم به من یک اسکریپت داده گفته کامپایل کردم و فایل اجرایی گرفتم. یه اسکرین هم دادش گفتش که توی اوبونتو اجرا میشه. اما من در سیستم دیگم که کالی 2016 است اجرا میکنم میگه همچین فایلی در دایرکتوری نیست.
شگفتاااااا
روی اوبونتو اجرا کردم خوب کار میکرد. دقیقا درشت اجرا میکنما نگین دایرکتوری اجرای دستورم غلطه.
کرنل کالی 4.8 و کرنل اوبونتوم 4.4 هست
اشکال از چیه

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
پاسخ : اجرای اسکریپتم
« پاسخ #1 : 05 فروردین 1396، 10:19 ب‌ظ »
سلام دوستم به من یک اسکریپت داده گفته کامپایل کردم و فایل اجرایی گرفتم. یه اسکرین هم دادش گفتش که توی اوبونتو اجرا میشه. اما من در سیستم دیگم که کالی 2016 است اجرا میکنم میگه همچین فایلی در دایرکتوری نیست.
شگفتاااااا
روی اوبونتو اجرا کردم خوب کار میکرد. دقیقا درشت اجرا میکنما نگین دایرکتوری اجرای دستورم غلطه.
کرنل کالی 4.8 و کرنل اوبونتوم 4.4 هست
اشکال از چیه

یه بار دیگه متن پرسش رو بخون ببین خودت چیزی ازش سر در میاری؟
من که نفهمیدم پرسش شما چی هست!
با جزئیات و واضح پرسشتون رو مطرح کنید.

آفلاین rahimi12

  • Full Member
  • *
  • ارسال: 228
  • جنسیت : دختر
پاسخ : اجرای اسکریپتم
« پاسخ #2 : 05 فروردین 1396، 10:57 ب‌ظ »
ببخشید.
خلاصه کلامم اینه که یک فایل executable دارم که توی اوبونتو اجرا میشه ولی توی کالی 2016 اجرا نمیشه.
در کالی اجرا بکنم ارور میگه میگه همچین فایلی وجود نداره در حالیکه وجود داره.

توضیحات کرنل و ... هم در اول موضوع گفتم

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1244
  • جنسیت : پسر
  • ali76 سابق
پاسخ : اجرای اسکریپتم
« پاسخ #3 : 05 فروردین 1396، 11:09 ب‌ظ »
اون دوست عزیزمون هم گفتن متاسفانه خیلی مختصر و مفید می نویسین این طوری فایده نداره مثلا بنویسین چطوری اجراش می کنین ؟
با کدوم یکی از این دستورا ؟
sudo sh script.sh
sudo bash script.sh
sudo ./script.sh
اگه از دستور سوم استفاده می کنین دستور اول و دوم رو هم تست کنین بعد نتیجه رو اعلام کنین
ویرایش :این رو هم اضافه کنم که دسترسی اجرایی رو از قبل به فایل دادین یا نه ؟
chmod +x script.sh
« آخرین ویرایش: 05 فروردین 1396، 11:27 ب‌ظ توسط ali76 »

آفلاین rahimi12

  • Full Member
  • *
  • ارسال: 228
  • جنسیت : دختر
پاسخ : اجرای اسکریپتم
« پاسخ #4 : 05 فروردین 1396، 11:24 ب‌ظ »
اسم فایلم riyaz است

chmod +x riyaz
riyaz/.

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

No such file or directory

کرنل اوبونتو 4.4 و کرنل کالی 4.8

از این واضح تر دیگه نمیدونم چی بگم

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1244
  • جنسیت : پسر
  • ali76 سابق
پاسخ : اجرای اسکریپتم
« پاسخ #5 : 05 فروردین 1396، 11:48 ب‌ظ »
خب الان واضح شد دیگه ; اولش اینا رو نگفته بودین که  :)
اون دستورات اول و دوم رو برای اجرای اسکریپت امتحان کنین و نتیجه رو بگین :
sudo sh script.sh
sudo bash script.sh

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
پاسخ : اجرای اسکریپتم
« پاسخ #6 : 05 فروردین 1396، 11:50 ب‌ظ »
به این توجه کردی که فایل با کامپایلر x86 کامپایل شده یا 64 بیتی؟
مثلا اگر این فایل روی یه سیستم x86 کامپایل شده باشه و شما تلاش کنی اونو روی یه سیستم 64 بیتی که از معماری 32 بیتی پشتیبانی نمیکنه اجرا کنی دچار مشکل میشی.

آفلاین rahimi12

  • Full Member
  • *
  • ارسال: 228
  • جنسیت : دختر
پاسخ : اجرای اسکریپتم
« پاسخ #7 : 06 فروردین 1396، 12:13 ق‌ظ »
خب الان واضح شد دیگه ; اولش اینا رو نگفته بودین که  :)
اون دستورات اول و دوم رو برای اجرای اسکریپت امتحان کنین و نتیجه رو بگین :
sudo sh script.sh
sudo bash script.sh
برادر فایل اجرایی هست sh نیست که

آفلاین rahimi12

  • Full Member
  • *
  • ارسال: 228
  • جنسیت : دختر
پاسخ : اجرای اسکریپتم
« پاسخ #8 : 06 فروردین 1396، 12:17 ق‌ظ »
به این توجه کردی که فایل با کامپایلر x86 کامپایل شده یا 64 بیتی؟
مثلا اگر این فایل روی یه سیستم x86 کامپایل شده باشه و شما تلاش کنی اونو روی یه سیستم 64 بیتی که از معماری 32 بیتی پشتیبانی نمیکنه اجرا کنی دچار مشکل میشی.
کالی ۶۴ بیتی است و اوبونتو ۳۲ بیت. توی اوبونتو کامپایل کردم. پس از اونه؟
آخه توی کالی که ۶۴ بیتی است هم با shc یک سورس بش رو کامپایل میکنم اجرا نمیشه(شیوه کارم درسته). حتی توی خودشم اجرا نمیشه و طبیعتا باید اجرا بشه خب مگ نه؟
توی اوبونتو این مشکل نیست.
نظرتون چی است؟

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1244
  • جنسیت : پسر
  • ali76 سابق
پاسخ : اجرای اسکریپتم
« پاسخ #9 : 06 فروردین 1396، 12:32 ق‌ظ »
خب الان واضح شد دیگه ; اولش اینا رو نگفته بودین که  :)
اون دستورات اول و دوم رو برای اجرای اسکریپت امتحان کنین و نتیجه رو بگین :
sudo sh script.sh
sudo bash script.sh
برادر فایل اجرایی هست sh نیست که
مگه نمی گین اسکریپته ؟ خب با همون ران کنین دیگه !
بذارین خیلی ساده و خودمونی توضیح بدم شاید مشکل از توضیحه منه نیگاه کنین اول خیلی از اسکریپتا shebang (دستوراتی عینه #!/bin/sh و یا #!/bin/bash) وجود داره که در واقع برنامه نویس میگه این اسکریپت (حالا با پسوند .sh یا .run یا حتی بدون پسوند) برای این شل بهینه شده و بهتره (و بعضا لازمه) که با اون شل خاص اجرا بشه و حتی بعضی از شل ها وقتی می بینن که این فایل با shebang مخصوص اونا نیست اون فایل اجرایی رو (حتی وقتی دسترسی execute داره) اجرا نمی کنن و با خطاهای مختلفی مثل command not found یا not such file or directory و ... از اجرای فایل اجرایی ممنانعت به عمل میارن برای همین گفتم که با sh (که اگه اشتباه نکنم برای شل dash هستش) و یا با bash (که مربوط به شل bash هستش) اجرا کنید تا ببینم مشکل از shebang هست یا نه ؟
ممکنه مشکل حتی ناشی از این باشه که encode نوشتاری فایل مناسب اون شل نباشه (مثلا ممکنه که utf-8 نباشه و ...) پس اگه شما دوست دارین مشکلتون حل بشه لطفاً کاری که گفته می شه رو تست کنین تا ما هم بتونیم راحت تر کمک کنیم  ;)
(برای مثال عرض می کنم من موقع اجرای فایل اجرایی matlab رو که به قول شما sh هم نبود نتونستم با ./matlab اجرا کنم ولی به راحتی با bash matlab اجرا شد حال خود دانی !)
« آخرین ویرایش: 06 فروردین 1396، 12:39 ق‌ظ توسط ali76 »

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
پاسخ : اجرای اسکریپتم
« پاسخ #10 : 06 فروردین 1396، 12:43 ق‌ظ »
نقل‌قول
کالی ۶۴ بیتی است و اوبونتو ۳۲ بیت. توی اوبونتو کامپایل کردم. پس از اونه؟

بله.
اینو مطالعه کن تا برات روشن‌تر بشه:

http://askubuntu.com/questions/133389/no-such-file-or-directory-but-the-file-exists

نقل‌قول
آخه توی کالی که ۶۴ بیتی است هم با shc یک سورس بش رو کامپایل میکنم اجرا نمیشه(شیوه کارم درسته). حتی توی خودشم اجرا نمیشه و طبیعتا باید اجرا بشه خب مگ نه؟
توی اوبونتو این مشکل نیست.
نظرتون چی است؟

نظری ندارم.