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

کمک و پشتیبانی => انجمن عمومی => نویسنده: abdossamad2003 در 17 مهر 1395، 06:22 ب‌ظ

عنوان: سوالی در مورد if
ارسال شده توسط: abdossamad2003 در 17 مهر 1395، 06:22 ب‌ظ
با سلام خدمت دوستان
در دستور زیر که در داخل یک اسکریپت بوده است (csh)
مفهوم & چیست؟
و خود body چه دستوری است؟
(http://s8.picofile.com/file/8270127092/Screenshot_from_2016_10_08_18_15_42.jpg)
عنوان: پاسخ : سوالی در مورد if
ارسال شده توسط: B در 18 مهر 1395، 02:47 ب‌ظ
باعث میشه دستوری که اجرا میکنیم در پس زمینه اجرا بشه
اینطوری دستورات بعد از اجرای اون برنامه هم اجرا میشه

اگه اینطوری ننویسه؛ اونوقت دستورات بعد از "اجرای یه برنامه" تا زمانی که کار برنامه تموم نشه اجرا نمیشه و بقولی بلوکه میشه
عنوان: پاسخ : سوالی در مورد if
ارسال شده توسط: abdossamad2003 در 18 مهر 1395، 02:54 ب‌ظ
با سلام متوجه نشدم فکر کنم توی تایپ حروف رو جابجا زدید می شه واضح تر بگید
عنوان: پاسخ : سوالی در مورد if
ارسال شده توسط: B در 18 مهر 1395، 03:00 ب‌ظ
کد زیر رو نگاه کنید

echo "1"
firefox
echo "2"

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


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

به این عمل میگن اجرا در پس زمینه؛ یعنی برنامه‌مون در پس زمینه کار خودش رو انجام میده و سایر دستورات منتظر نمیمونند تا کار اون برنامه تموم بشه و بعد اجرا بشن
عنوان: پاسخ : سوالی در مورد if
ارسال شده توسط: abdossamad2003 در 18 مهر 1395، 04:20 ب‌ظ
با تشکر
در مورد مثالی که زدم بدنه if چه دستوری از لینوکس است یک متغیر به pget و بعد دو فایل جلوی آن؟
عنوان: پاسخ : سوالی در مورد if
ارسال شده توسط: B در 18 مهر 1395، 11:29 ب‌ظ
هر برنامه ای میتونه باشه! باید ثبلش رو ببینید دارای چه مقدار هستش
مثلا مثال زیر رو ببنید
$ p=whoami
$ ${p}
ali
$ p=pwd
$ ${p}
/home/ali


هربرنامه‌ای میتونه باشه؛ باید دیباگش کنید ببینید چه برنامه ای بهش نسبت داده میشه
عنوان: پاسخ : سوالی در مورد if
ارسال شده توسط: abdossamad2003 در 19 مهر 1395، 04:49 ب‌ظ
چطوری دیباگش کنم؟ میشه راهنمایی کنید
عنوان: پاسخ : سوالی در مورد if
ارسال شده توسط: B در 21 مهر 1395، 05:11 ب‌ظ
چندین راه هست؛ یکیش اینه که bash‌ رپ با دارامتر x احرا کنید

bash -x FILENAME
----

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

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

----

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