IFS: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
(ایجاد)
 
جز (کاربردها: تصحیح ورودی)
 
سطر ۴: سطر ۴:
 
=کاربردها=
 
=کاربردها=
 
* هنگام نوشتن [[Shell Script|اسکریپت‌های پوسته‌ای]] برای کار با پرونده‌هایی که در نامشان از [[Space Character|نویسهٔ فاصله]] استفاده شده است، در صورت استفاده از مقدار پیش‌گزیدهٔ IFS، با خطا مواجه می‌شویم، زیرا فاصله به صورت پیش‌گزیده یک جداکنندهٔ فیلد محسوب شده و موجب می‌شود هر بخش از نام پرونده به عنوان یک پروندهٔ مجزا به اسکریپت معرّفی شود. در این‌جا ما نیاز داریم تا در ابتدای اسکریپت، تنها [[Newline Character|نویسهٔ خط‌جدید]] را به عنوان جداکنندهٔ فیلد درونی معرّفی معرّفی کنیم. این کار با دستور زیر قابل انجام است:
 
* هنگام نوشتن [[Shell Script|اسکریپت‌های پوسته‌ای]] برای کار با پرونده‌هایی که در نامشان از [[Space Character|نویسهٔ فاصله]] استفاده شده است، در صورت استفاده از مقدار پیش‌گزیدهٔ IFS، با خطا مواجه می‌شویم، زیرا فاصله به صورت پیش‌گزیده یک جداکنندهٔ فیلد محسوب شده و موجب می‌شود هر بخش از نام پرونده به عنوان یک پروندهٔ مجزا به اسکریپت معرّفی شود. در این‌جا ما نیاز داریم تا در ابتدای اسکریپت، تنها [[Newline Character|نویسهٔ خط‌جدید]] را به عنوان جداکنندهٔ فیلد درونی معرّفی معرّفی کنیم. این کار با دستور زیر قابل انجام است:
<pre lang=bash>IFS=$"\n"</pre>
+
<pre lang=bash>IFS=$'\n'</pre>
  
  
 
[[رده:متغیّرهای محیطی]]
 
[[رده:متغیّرهای محیطی]]

نسخهٔ کنونی تا ‏۱۶ مرداد ۱۳۹۴، ساعت ۰۲:۴۱

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

$ cat -etv <<<"$IFS"

کاربردها

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