ویژگی تصویر

دستور shopt در لینوکس

  /  لینوکس   /  دستور shopt در لینوکس
بنر تبلیغاتی الف
لینوکس - linux

در این بخش به بررسی دستور shopt در لینوکس می پردازیم، در سیستم‌عامل‌های مبتنی بر لینوکس و به‌طور خاص در محیط‌های شل (Shell)، کاربران برای مدیریت تنظیمات و بهینه‌سازی رفتار شل از ابزارهای مختلفی استفاده می‌کنند. یکی از این ابزارها، دستور shopt است که در شل Bash کاربرد گسترده‌ای دارد. این دستور به کاربران اجازه می‌دهد تا ویژگی‌ها و گزینه‌های متعددی را برای مدیریت رفتار شل فعال یا غیرفعال کنند. اگر شما با Bash کار می‌کنید و به دنبال بهینه‌سازی و شخصی‌سازی بیشتر محیط کاری خود هستید، آشنایی با دستور shopt می‌تواند به شما کمک کند تا بسیاری از عملکردهای پیش‌فرض شل را تغییر دهید و به نحو بهتری از آن بهره‌برداری کنید.

در این مقاله، به‌طور جامع به بررسی دستور shopt خواهیم پرداخت. ابتدا با اصول و کاربردهای آن آشنا می‌شویم و سپس به معرفی ویژگی‌های مختلفی که این دستور مدیریت می‌کند می‌پردازیم. همچنین نمونه کدها و مثال‌های عملی ارائه می‌شود تا مفهوم هر ویژگی بهتر درک شود. در نهایت، این مقاله به شما کمک می‌کند تا از Bash به‌صورت حرفه‌ای‌تری استفاده کنید و تجربه کاری خود را بهینه‌تر کنید.

دستور shopt در لینوکس چیست؟

shopt مخفف “shell options” است و به عنوان یک ابزار داخلی در Bash استفاده می‌شود. این دستور به کاربران اجازه می‌دهد تا مجموعه‌ای از گزینه‌ها و تنظیمات مربوط به رفتار Bash را فعال یا غیرفعال کنند. این گزینه‌ها تأثیر مستقیمی بر نحوه تعامل شما با Bash و نحوه اجرای دستورات در شل دارند.

دستور shopt می‌تواند گزینه‌های مربوط به تکمیل دستورات، مدیریت فایل‌ها، دسترسی به تاریخچه دستورات، و بسیاری از ویژگی‌های دیگر را کنترل کند. با استفاده از این دستور، شما می‌توانید تصمیم بگیرید که آیا برخی ویژگی‌های Bash فعال باشند یا نه، و این به شما انعطاف‌پذیری بالایی در تنظیم شل می‌دهد.

ساختار دستور shopt

ساختار کلی دستور shopt به این صورت است:

shopt [گزینه] [ویژگی]
  • [گزینه]: می‌تواند شامل -s (برای فعال کردن یک ویژگی) یا -u (برای غیرفعال کردن یک ویژگی) باشد.
  • [ویژگی]: نام ویژگی یا گزینه‌ای است که قصد مدیریت آن را دارید.

برای مشاهده تمامی گزینه‌ها و ویژگی‌هایی که می‌توان با shopt کنترل کرد، کافی است دستور زیر را اجرا کنید:

shopt

این دستور لیستی از ویژگی‌ها را به همراه وضعیت فعلی آن‌ها (فعال یا غیرفعال) نمایش می‌دهد.

فعال‌سازی و غیرفعال‌سازی ویژگی‌ها

برای اینکه یک ویژگی خاص را فعال کنید، از گزینه -s استفاده می‌شود. به‌عنوان مثال، اگر بخواهید ویژگی nocaseglob را فعال کنید که جستجوی فایل‌ها را بدون حساسیت به حروف بزرگ و کوچک انجام می‌دهد، می‌توانید دستور زیر را وارد کنید:

shopt -s nocaseglob

در مقابل، برای غیرفعال کردن یک ویژگی از گزینه -u استفاده می‌شود. به‌عنوان مثال، برای غیرفعال کردن همان ویژگی:

shopt -u nocaseglob

ویژگی nocaseglob یکی از گزینه‌های محبوب Bash است که اجازه می‌دهد در هنگام استفاده از الگوهای تطبیق، حروف بزرگ و کوچک نادیده گرفته شوند.

ویژگی‌های پرکاربرد در دستور shopt

۱. nocaseglob

همانطور که در مثال قبل اشاره شد، ویژگی nocaseglob به شما اجازه می‌دهد تا در جستجوی فایل‌ها، حساسیت به حروف بزرگ و کوچک نادیده گرفته شود. این ویژگی برای زمانی که قصد دارید فایل‌هایی با نام‌های ترکیبی از حروف کوچک و بزرگ را پیدا کنید بسیار مفید است.

به‌عنوان مثال، اگر این ویژگی فعال باشد:

shopt -s nocaseglob

سپس جستجوی زیر:

ls *.txt

می‌تواند تمامی فایل‌های .txt را بدون توجه به اینکه نام آن‌ها شامل حروف بزرگ است یا نه، نمایش دهد.

۲. nullglob

ویژگی nullglob زمانی مفید است که بخواهید الگوهای جستجویی که به هیچ فایلی مطابقت ندارند، حذف شوند و باعث بروز خطا نشوند. اگر این ویژگی فعال نباشد، و شما از الگویی استفاده کنید که به هیچ فایلی مطابقت ندارد، الگو به عنوان خود رشته در خروجی ظاهر می‌شود.

به‌عنوان مثال، فرض کنید که این ویژگی غیرفعال است و شما از دستور زیر استفاده می‌کنید:

echo *.jpg

اگر هیچ فایل .jpg وجود نداشته باشد، خروجی این دستور به شکل *.jpg خواهد بود. اما اگر nullglob فعال باشد:

shopt -s nullglob

در این صورت، خروجی دستور هیچ مقداری نخواهد بود و الگوی جستجو در خروجی ظاهر نمی‌شود.

۳. histappend

ویژگی histappend تعیین می‌کند که آیا دستورات جدید به تاریخچه (History) شل اضافه شوند یا اینکه تاریخچه قدیمی با دستورات جدید جایگزین شود. با فعال کردن این گزینه، دستورات جدید به تاریخچه اضافه می‌شوند و تاریخچه قبلی نیز حفظ می‌شود.

برای فعال کردن این ویژگی:

shopt -s histappend

با فعال بودن این ویژگی، اگر شما چندین پنجره شل باز کنید، تاریخچه دستورات شما بین آن‌ها یکپارچه خواهد بود و دستورات جدید در هر پنجره به تاریخچه کلی اضافه می‌شوند.

۴. dotglob

ویژگی dotglob تعیین می‌کند که آیا فایل‌ها و پوشه‌هایی که نام آن‌ها با نقطه (.) شروع می‌شود (مانند فایل‌های مخفی در لینوکس)، در جستجوها گنجانده شوند یا نه. به‌طور پیش‌فرض، این فایل‌ها در جستجوهای فایل نادیده گرفته می‌شوند.

برای فعال کردن این ویژگی:

shopt -s dotglob

پس از فعال‌سازی، زمانی که از الگوهای جستجو استفاده می‌کنید، فایل‌های مخفی نیز نمایش داده می‌شوند.

۵. extglob

ویژگی extglob امکان استفاده از الگوهای تطبیقی پیشرفته‌تر را فراهم می‌کند. این ویژگی به شما اجازه می‌دهد تا از الگوهایی پیچیده‌تر برای تطبیق فایل‌ها استفاده کنید. به عنوان مثال، با فعال کردن این ویژگی می‌توانید الگوهایی مانند @(pattern) یا ?(pattern) را برای تطبیق استفاده کنید.

برای فعال کردن این ویژگی:

shopt -s extglob

دستور shopt یکی از ابزارهای کاربردی و انعطاف‌پذیر در Bash است که به کاربران اجازه می‌دهد تا رفتار شل خود را به‌طور دقیق کنترل و سفارشی‌سازی کنند. با استفاده از این دستور، می‌توان عملکردهای مختلف شل را بهینه‌سازی کرد و تجربه کار با Bash را بهبود بخشید. با شناخت دقیق ویژگی‌های shopt و استفاده از آن‌ها، شما می‌توانید محیط کاری خود را به شکل بهتری تنظیم کنید و از Bash به شکلی حرفه‌ای‌تر بهره ببرید.

منابع

  • Bash Reference Manual
  • Linux Command Line and Shell Scripting Bash

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج