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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: Silvio Dante در 05 اسفند 1396، 04:52 ق‌ظ

عنوان: یه سوال در مورد اسکریپت نویسی توی bash [حل شد]
ارسال شده توسط: Silvio Dante در 05 اسفند 1396، 04:52 ق‌ظ
سلام
یه اسکریپتی نوشتم که توش یه متغیر دارم که حاوی اسم یه سری فایله. این متغیر رو به این صورت تبدیل به لیست کردم:
set -- name_of_variableحالا که میخوام فراخوانیش کنم مثلا آیتم چهارمشو بخوام اینجوری میتونم فراخوانیش کنم:
$4میخوام از آیتمای این لیست داخل یه حلقه استفاده کنم و هر دفعه یکیشو داشته باشم. برای این کار یه متغیر با مقدار صفر تعریف کردم که هر دفعه یدونه به مقدارش اضافه میشه. حالا میخوام این عدد رو هر دفعه بزارم جلوی $ که بتونم اون آیتم از داخل لیست رو فراخوانی کنم. این کار رو کردم:
"$""$mynumber"mynumber متغیریه که برای اعداد تعیین کردم.
اما خروجیش به جای اینکه هر دفعه پارامترای اون لیست باشه یه $ به همراه عددیه که تو اون دور حلقه وجود داره یه چیزی مثل این:
$1
$2
$3
$4
$5
$6

حالا شاید این وسط براتون سوال پیش بیاد که خب چرا نمیام از حلقه استفاده کنم؟ جواب اینه که قبلا از یه حلقه استفاده کردم و میخوام آیتمای این لیست هم همزمان در کنار آیتمای متغیری که به اون حلقه دادم بیان روی کار. یعنی در واقع توی هر دور حلقه‌م میخوام دوتا مقدار از داخل دوتا متغیر به صورت همزمان روی کار بیان. یعنی وقتی پارامتر اول از اولین متغیر روی کاره اولین پارامتر متغیر دوم هم در کنارش باشه و به همین صورت تا آخر پیش برن که متغیر اول رو همونطور که گفتم توی حلقه‌ی for گذاشتم اما خب با حلقه‌ها هر طوری فکر میکنم نمیشه همزمان دوتا متغیر رو آیتم‌هاشون رو استفاده کرد. برای همین یکی رو توی حلقه گذاشتم و برای اون یکی سعی کردم از اون روش لیست استفاده کنم.

امیدوارم با این توضیح داغون من گیج نشده باشین.
شاید این عکس بتونه تو فهمیدن این‌که منظورم چیه بیشتر کمکتون کنه:
(http://s8.picofile.com/file/8320200350/Screenshot_2018_02_24_05_43_39.png)

الان سوالم اینه که راه حلی وجود داره که بشه دوبار از $ جوری استفاده کرد که در نتیجه بتونم پارامترای این لیستی که درست کردم رو داخل حلقه هر دفعه یکیشو فراخوانی کنم؟ (با استفاده از اون متغیر عدد)
یا اینکه آیا راه حل دیگه‌ای برای این کار سراغ دارین؟
عنوان: پاسخ : یه سوال در مورد اسکریپت نویسی توی bash
ارسال شده توسط: mahrooz در 05 اسفند 1396، 01:27 ب‌ظ
سلام
باید از ارجاع غیرمستقیم استفاده کنید.سری به این صفحه بزن http://absguide.blogsky.com/ivr (http://absguide.blogsky.com/ivr)
عنوان: پاسخ : یه سوال در مورد اسکریپت نویسی توی bash
ارسال شده توسط: Silvio Dante در 05 اسفند 1396، 03:56 ب‌ظ
سلام
باید از ارجاع غیرمستقیم استفاده کنید.سری به این صفحه بزن http://absguide.blogsky.com/ivr (http://absguide.blogsky.com/ivr)
تشکر <3