دستور shopt در لینوکس
در این بخش به بررسی دستور 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
۳. 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
آیا این مطلب برای شما مفید بود ؟




