IFS

از ویکی فارسی اوبونتو
نسخهٔ تاریخ ‏۱۷ تیر ۱۳۹۴، ساعت ۰۶:۰۹ توسط Danialbehzadi (بحث | مشارکت‌ها) (ایجاد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به: ناوبری، جستجو

IFS مخفّف Internal Field Separator به معنای جداکنندهٔ فیلد درونی، یک متغیّر محیطی است که مشخّص می‌کند کدام نویسه‌ها، فیلدهای اطّلاعاتی را از هم جدا می‌کنند. مقدار این متغیّر را می‌توان مستقیماً مشخّص کرد، ولی مقدار پیش‌گزیدهٔ آن <space><tab><newline> است که می‌توان به وسیلهٔ دستور زیر آن را مشاهده کرد:

$ cat -etv <<<"$IFS"

کاربردها

  • هنگام نوشتن اسکریپت‌های پوسته‌ای برای کار با پرونده‌هایی که در نامشان از نویسهٔ فاصله استفاده شده است، در صورت استفاده از مقدار پیش‌گزیدهٔ IFS، با خطا مواجه می‌شویم، زیرا فاصله به صورت پیش‌گزیده یک جداکنندهٔ فیلد محسوب شده و موجب می‌شود هر بخش از نام پرونده به عنوان یک پروندهٔ مجزا به اسکریپت معرّفی شود. در این‌جا ما نیاز داریم تا در ابتدای اسکریپت، تنها نویسهٔ خط‌جدید را به عنوان جداکنندهٔ فیلد درونی معرّفی معرّفی کنیم. این کار با دستور زیر قابل انجام است:
IFS=$"\n"