انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: abdossamad2003 در 17 مهر 1395، 06:22 بظ
-
با سلام خدمت دوستان
در دستور زیر که در داخل یک اسکریپت بوده است (csh)
مفهوم & چیست؟
و خود body چه دستوری است؟
(http://s8.picofile.com/file/8270127092/Screenshot_from_2016_10_08_18_15_42.jpg)
-
باعث میشه دستوری که اجرا میکنیم در پس زمینه اجرا بشه
اینطوری دستورات بعد از اجرای اون برنامه هم اجرا میشه
اگه اینطوری ننویسه؛ اونوقت دستورات بعد از "اجرای یه برنامه" تا زمانی که کار برنامه تموم نشه اجرا نمیشه و بقولی بلوکه میشه
-
با سلام متوجه نشدم فکر کنم توی تایپ حروف رو جابجا زدید می شه واضح تر بگید
-
کد زیر رو نگاه کنید
echo "1"
firefox
echo "2"
دستور اول 1 رو جاپ میکنه
دستور دوم باعث میشه فایر فاکس اجرا بشه
دستور سوم هم در صورتی اجرا میشه که فایر فاکس رو ببنید؛ بعد از بسته شدن فایر فاکس دستور سوم اجرا میشه و 2 چاپ میشه
حالا اگه بجای firefox بنویسید & firefox ؛ اونوثت دستور سوم منتظر نمیشه که فایر فاکس بسته بشه؛ و سریع اجرا میشه
و شما در خروجی 1 رو میبینی و بعد اجرای فایر فاکس و 2 ..
به این عمل میگن اجرا در پس زمینه؛ یعنی برنامهمون در پس زمینه کار خودش رو انجام میده و سایر دستورات منتظر نمیمونند تا کار اون برنامه تموم بشه و بعد اجرا بشن
-
با تشکر
در مورد مثالی که زدم بدنه if چه دستوری از لینوکس است یک متغیر به pget و بعد دو فایل جلوی آن؟
-
هر برنامه ای میتونه باشه! باید ثبلش رو ببینید دارای چه مقدار هستش
مثلا مثال زیر رو ببنید
$ p=whoami
$ ${p}
ali
$ p=pwd
$ ${p}
/home/ali
هربرنامهای میتونه باشه؛ باید دیباگش کنید ببینید چه برنامه ای بهش نسبت داده میشه
-
چطوری دیباگش کنم؟ میشه راهنمایی کنید
-
چندین راه هست؛ یکیش اینه که bash رپ با دارامتر x احرا کنید
bash -x FILENAME
----
یا اینکه مثالا اگه میخوایید ببینید متغیر ${pget} چه مقداری داره؛ قبل ار اجرا دستوراتش بنویسید:
echo ${pget}
آینطوری میتوحه میشید چه مقداری گرفته و ..
----
یا اینکه از برنامه bashdb استفاده کنید که برای دیباگ کردن هستش و خیلی هم شبیه gdb هست؛ میتونید استفاده کنید