ماهی در مقابل Zsh در مقابل باش و چرا باید به ماهی روی آورد

ماهی در مقابل Zsh در مقابل باش و چرا باید به ماهی روی آورد

دو نوع کاربر * nix وجود دارد: محتاط و ماجراجو

عکس جیمز وین اسکوات در Unsplash

این یک واقعیت است ، اکثر توسعه دهندگان یونیکس و یونیکس مانند (مبتنی بر Linux) را دوست دارند سیستم عامل هایی مانند macOS ، اوبونتو و ... آنها پایدار ، قدرتمند ، بسیار قابل تنظیم هستند و از یونیکس شل قدرتمندی برخوردار هستند.

UNIX Shell چیست؟

پوسته یک پوسته است رابط کاربری با سیستم عامل اصلی این امکان را برای شما فراهم می کند تا با استفاده از متن و دستورات عملیات را انجام دهید و ویژگی های پیشرفته ای مانند امکان ایجاد اسکریپت را در اختیار کاربران قرار می دهد.

یونیکس شل ابزاری قدرتمند است که به برنامه نویسان امکان می دهد کارهای پیچیده را فقط با چند کلمه انجام دهند. . تعداد زیادی پوسته به طور گسترده در دسترس است مانند Bourne Shell ، C Shell و غیره.

من به ویژه از Bash ، Zsh و پوسته ماهی استفاده کرده ام و در اینجا نظرات من در مورد چرا روی آوردن به ماهی یا حتی Zsh ، یکی از بهترین کارهایی است که می توانید برای لذت بخشتر کردن برنامه نویسی خود انجام دهید.

یک دقیقه آشنایی با Bash ، Zsh و ماهی

Bash

< p> Bash رایج ترین پوسته لینوکس است. اگر یک ترمینال در Mac باز کنید (تا زمان macOS Mojave) ، یا اگر قبلاً از Linux استفاده کرده اید ، Bash را مشاهده کرده اید.

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

Zsh

Zsh شبیه Bash و پوسته عالی دیگری است. سریعتر و قابل تنظیم تر از Bash است.

یکی از جالبترین موارد در مورد Zsh سفارشی سازی رنگ است. فقط با استفاده از چارچوبی به نام Oh My Zsh می توانید طرح زمینه و رنگ پوسته خود را تغییر دهید.

Zsh دارای بسیاری از ویژگی های مفید دیگر است ، از جمله تصحیح املا ، به اشتراک گذاری تاریخچه دستورات خود در چندین ترمینال ، نامگذاری میانبرهای دایرکتوری و غیره.

ماهی

ماهی یا "پوسته تعاملی دوستانه" ، به نظر من کاربرپسندترین و تعاملی ترین پوسته است.

بسیار قابل تنظیم تر از Zsh و Bash است. این یک تعداد ویژگی های جالب مانند نحو ثابت ، تکمیل زبانه زیبا و برجسته سازی نحو دارد ، انتخاب و استفاده از آن آسان است و از زمان اجرا بسیار خوبی برخوردار است.

شما می توانید تم و رنگ پوسته خود را فقط تغییر دهید با استفاده از چارچوبی به نام Oh My Fish. بر خلاف پوسته های فوق الذکر ، ماهی با POSIX سازگار نیست ، اما همچنین قصد ندارد.

می توانید اسکریپت های Bash را در دو زبان Zsh و ماهی اجرا کنید و خط shebang زیر را به خط اول خط خود اضافه کنید. پرونده باش.

 #! /usr /bin /env bash 

چه چیزی درباره ماهی ها ویژه است؟

لوگوی Fish Shell

قابل فهم و استفاده آسان

برخلاف پوسته های دیگر که برای تنظیمات زیادی نیاز دارند ماهی مطابق میل شما کار کند ، ماهی کاملاً خارج از جعبه کار می کند.

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

برجسته سازی نحو

برجسته سازی نحو ویژگی است که همه ما آرزو می کنیمCLI ما می تواند عملکرد داشته باشد. باعث صرفه جویی در وقت و ناامیدی می شود. خوب ، ماهی این کار را انجام می دهد ، و این کار را به خوبی انجام می دهد.

این به شما نشان می دهد قبل از اینکه حتی وارد enter شوید ، دستور شما یا فهرست مورد جستجو وجود دارد. قبل از اینکه وارد شوید ، می دانید که اشتباه تایپ می کنید یا نه. این امر تجزیه و تحلیل دستورات و یافتن خطاها را برای افراد راحت تر می کند.

(اکثر) خطاها را با رنگ قرمز برجسته می کند ، مانند دستورات غلط املایی ، گزینه های غلط املایی ، خواندن از فایل های موجود ، پرانتز و نقل قول های نامناسب ، و بسیاری از خطاهای رایج دیگر.

همچنین دارای برجسته سازی نقل قول ها و پرانتزهای منطبق است. اوه ، و بسیار زیبا و رنگارنگ است. این بسیاری از تم های سریع و پلاگین های جذاب بسیار زیبا را ارائه می دهد ، سبک ، عالی و آسان برای استفاده است.

همچنین ویژگی پیکربندی تحت وب را نیز ارائه می دهد. فقط تایپ کنید:

 fish_config 

در وب سایتی قرار خواهید گرفت که می توانید پوست پوسته خود را با آن شخصی سازی کنید.

صفحه وب_پیکربندی ماهی

تاریخچه جستجو به صورت درون خطی

این ویژگی تعاملی این پوسته است. شما شروع به تایپ کردن یک دستور می کنید و کلید بالا را فشار می دهید تا تمام زمانهای تاریخ Shell را ببینید که قبلاً از آن دستور استفاده کرده اید.

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

این ویژگی ها جستجو و استفاده مجدد از دستورات قبلی را بسیار سریعتر می کند.

پیشنهاد خودکار درون خطی

ماهی هنگام تایپ دستورات را نشان می دهد و پیشنهاد را در سمت راست نشانگر ، به رنگ خاکستری نشان می دهد. اگر یک دستور را اشتباه تایپ کنید ، با قرمز نشان داده می شود که این یک دستور نامعتبر است.

همچنین بر اساس سابقه و پرونده های معتبر موجود ، دستوراتی که بیشتر استفاده می شود را نشان می دهد و هنگام تایپ خودکار تکمیل می شود. .

نمایش برای پیشنهاد خودکار درون خطی

تکمیل برگه با استفاده از داده های صفحه man

ماهی می تواند صفحات مرد ابزار CLI را در قالب های مختلف تجزیه کند. از طریق تمام تکمیلهای خودکار پیشنهادی ، یک دستور را وارد کرده و "برگه" را وارد کنید.

ماهی در عمل

در اینجا ، در ویدیوی نشان داده شده در زیر ، من کارهای زیر را در ماهی پوسته انجام داده ام:

ماهی در عمل باز کردن دایرکتوری دسک تاپ من Bash زیر را اجرا کردم اسکریپت شل: demo.sh که ده عدد اول طبیعی را چاپ می کند.

3. سپس سعی کردم به یک پوشه invalid_folder نامعتبر دسترسی پیدا کنم (توجه داشته باشید که نام پوشه قرمز رنگ است و این نشان می دهد که این پوشه وجود ندارد). سپس سعی کردم به یک پوشه معتبر دسترسی پیدا کنم.

موارد منفی استفاده از ماهی

خوب ، هیچ چیز عالی نیست ، و هرگز نباید باشد. از گسترش تاریخچه پشتیبانی کنید ("!!")

ماهی هیچ پشتیبانی نمی کند !! ، اما شما می توانید از چارچوب Oh My Fish Shell استفاده کنید و پلاگین thebang-bang را نصب کنید تا این میانبر را در پوسته ماهی داشته باشید. < /p>

کندتر از Bash

بیشتر ویژگی های ماهی راحتی را نسبت به سرعت اولویت می دهند. این یکی از دلایلی است که Bash برای نوشتن اسکریپت های Shell بهتر است.

در نتیجه گیری

ماهی پر از ویژگی های عالی است که بهره وری شما را در یک سطح متفاوت افزایش می دهد. بسیار مستند است و نصب آن نیز آسان است.

اگر در همه موارد بهترین نیست ، آن را ارائه می دهیددارای ویژگی هایی است که از فلسفه اساسی UNIX پیروی می کند:

"یک کار را انجام دهید و آن را به خوبی انجام دهید."

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

منابعی برای شروع کار با ماهیگیری

در اینجا نحوه نصب ماهی وجود دارد. مستندات مفید و تک صفحه ای. نصب و شروع کار با اوه ماهی من تقریباً هر آنچه در مورد ماهی باید در یک صفحه بدانید.