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

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

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


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

نویسنده موضوع: سوالی در مورد if  (دفعات بازدید: 774 بار)

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

آفلاین abdossamad2003

  • Full Member
  • *
  • ارسال: 157
سوالی در مورد if
« : 17 مهر 1395، 06:22 ب‌ظ »
با سلام خدمت دوستان
در دستور زیر که در داخل یک اسکریپت بوده است (csh)
مفهوم & چیست؟
و خود body چه دستوری است؟

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : سوالی در مورد if
« پاسخ #1 : 18 مهر 1395، 02:47 ب‌ظ »
باعث میشه دستوری که اجرا میکنیم در پس زمینه اجرا بشه
اینطوری دستورات بعد از اجرای اون برنامه هم اجرا میشه

اگه اینطوری ننویسه؛ اونوقت دستورات بعد از "اجرای یه برنامه" تا زمانی که کار برنامه تموم نشه اجرا نمیشه و بقولی بلوکه میشه
« آخرین ویرایش: 18 مهر 1395، 02:56 ب‌ظ توسط B »

آفلاین abdossamad2003

  • Full Member
  • *
  • ارسال: 157
پاسخ : سوالی در مورد if
« پاسخ #2 : 18 مهر 1395، 02:54 ب‌ظ »
با سلام متوجه نشدم فکر کنم توی تایپ حروف رو جابجا زدید می شه واضح تر بگید

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : سوالی در مورد if
« پاسخ #3 : 18 مهر 1395، 03:00 ب‌ظ »
کد زیر رو نگاه کنید

echo "1"
firefox
echo "2"

دستور اول 1 رو جاپ میکنه
دستور دوم باعث میشه فایر فاکس اجرا بشه
دستور سوم هم در صورتی اجرا میشه که فایر فاکس رو ببنید؛  بعد از بسته شدن فایر فاکس دستور سوم اجرا میشه و 2 چاپ میشه


حالا اگه بجای firefox بنویسید & firefox ؛ اونوثت دستور سوم منتظر نمیشه که فایر فاکس بسته بشه؛ و سریع اجرا میشه
و شما در خروجی 1 رو میبینی و بعد اجرای فایر فاکس و 2 ..

به این عمل میگن اجرا در پس زمینه؛ یعنی برنامه‌مون در پس زمینه کار خودش رو انجام میده و سایر دستورات منتظر نمیمونند تا کار اون برنامه تموم بشه و بعد اجرا بشن

آفلاین abdossamad2003

  • Full Member
  • *
  • ارسال: 157
پاسخ : سوالی در مورد if
« پاسخ #4 : 18 مهر 1395، 04:20 ب‌ظ »
با تشکر
در مورد مثالی که زدم بدنه if چه دستوری از لینوکس است یک متغیر به pget و بعد دو فایل جلوی آن؟

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : سوالی در مورد if
« پاسخ #5 : 18 مهر 1395، 11:29 ب‌ظ »
هر برنامه ای میتونه باشه! باید ثبلش رو ببینید دارای چه مقدار هستش
مثلا مثال زیر رو ببنید
$ p=whoami
$ ${p}
ali
$ p=pwd
$ ${p}
/home/ali


هربرنامه‌ای میتونه باشه؛ باید دیباگش کنید ببینید چه برنامه ای بهش نسبت داده میشه

آفلاین abdossamad2003

  • Full Member
  • *
  • ارسال: 157
پاسخ : سوالی در مورد if
« پاسخ #6 : 19 مهر 1395، 04:49 ب‌ظ »
چطوری دیباگش کنم؟ میشه راهنمایی کنید

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : سوالی در مورد if
« پاسخ #7 : 21 مهر 1395، 05:11 ب‌ظ »
چندین راه هست؛ یکیش اینه که bash‌ رپ با دارامتر x احرا کنید

bash -x FILENAME
----

یا اینکه مثالا اگه میخوایید ببینید متغیر  ${pget} چه مقداری داره؛ قبل ار اجرا دستوراتش بنویسید:

echo ${pget}
آینطوری میتوحه میشید چه مقداری گرفته و ..

----

یا اینکه از برنامه  bashdb استفاده کنید که برای دیباگ کردن هستش و خیلی هم شبیه gdb هست؛ میتونید استفاده کنید