Peyman Eskandari
Peyman Eskandari
خواندن ۳ دقیقه·۶ سال پیش

به خاطر چند کاراکتر کمتر؛ چند نمونه Alias برای تنبل‌ها

آقا تنبلی که توضیح و توجیه نداره. تنبل‌م دیگه. گاهی واسه چند کاراکتر کمتر تو Terminal حاضر می‌شیم آدم هم بکشیم که طبیعتا منطقی نیست چون کار بیشتری نسبت به تایپ همون چند کاراکتر کمتر مورد بحث می‌بره ولی به هر حال. انسان چون حکم آدمی‌زاد رو داره گاهی مجبوره و گاهی کارهایی می‌کنه که خودش هم می‌گه عجب!

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

ساخت Alias در macOS

ابتدا باید فایلی با نام `bash-profile.` درست کنید یا اگه تو سیستم‌تون موجوده بازش کنید، که این کار از طریق دستور زیر ممکنه:

nano ~/.bash-profile

با این دستور فایل موجود یا یک فایل خالی در ادیتور nano براتون باز می‌شه. حالا می‌تونید به سادگی دستورهای تحت ترمینال یا Bash رو اینجا بنویسید و ذخیره کنید. بعد از ذخیره و خروج از ادیتور که با `ctrl + X` انجام می‌شه باید به سیستم عامل بگید که یک بار دیگه این فایل رو بخونه و این کار هم با دستور زیر انجام می‌شه:

source ~/.bash_profile

خود Alias هم با این پترن ساخته می‌شه:

alias name="command"

در اینجا alias خود دستور ایجاد به حساب میاد. name نامی هست که از این به بعد استفاده می‌کنید و command هم دستوری که خسته‌تون کرده ?

همین؟ واقعا همین! حالا بریم سراغ دستورهایی که من استفاده می‌کنم.

نمونه‌هایی از Aliasها

ویرایش bash-profile

دیگه قاعدتا نباید تعجب کنید، برای ادیت Aliasها هم ۲ تا Alias دارم. اولی برای باز کردن فایل و دومی برای آپدیت Source:

alias alias-edit="nano ~/.bash_profile" alias alias-update="source ~/.bash_profile"

کار با لاراول

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

alias composer="php /usr/local/bin/composer" alias a="php artisan" alias phpunit="vendor/bin/phpunit" alias ad="apidoc -f ".php" -i Modules -o apidoc/" alias tinker="php artisan tinker" alias t="php artisan tinker" alias 'am'='a migrate' alias 'amm'='a module:migrate '

خیلی کوتاه توضیح بدم هر کدوم چی کار می‌کنن:

  • اولی که کارش ایجاد ارتباط برای دستور Composer هستش
  • دومی تنبلی محض منه که بجای php artisan دیگه می‌زنم a
  • سومی برای اجرای phpunit
  • چهارمی برای تولید مجدد ApiDocهای موجود تو پروژه
  • پنجمی و ششمی برای اجرای Tinker
  • هفتمی و هشتمی هم برای اجرای Migrationهای موجود در پروژه

روم سیاه واقعا با این همه تنبلی! ۷ ۸ تا Alias دیگه هم هست که برای کارهای یسنا استفاده می‌کنم و خیلی معنا و مفهومی برای شما نداره.

کار با Vue.js

اینجا خیلی چیزی برای انتشار ندارم به جز ۲ تا دستور Serve و Build که خب طبیعتا چیز عجیبی نیستن. فقط کوتاه‌ترن

alias serve="npm run serve" alias build="npm run build"

اینجا هم چند تا دستور دیگه دارم ولی کاربردش تو محصولات داخلی شرکته و هیچ مفهموم خارجی نمی‌تونه براتون داشته باشه متاسفانه.

کار با Github

چون ما پروژه‌هامون رو تو Github مدیریت می‌کنیم و تمام Issueها هم اونجا ثبت شدن ۲ تا دستور برای دسترسی به ریپازیتوری اصلی‌مون و باز کردن Issue با شماره‌ی مشخص دارم:

function name() { open "https://github.com/username/repository" }

اینجا name همون نام Alias هست و داخل متد هم آدرس ریپازیتوری گیت‌هاب. از این متد برای این ایده استفاده کنید که هر آدرسی رو که می‌خواهید باز کنه براتون. مثلا با زدن tw سایت twitter براتون باز بشه.

function hub() { open "https://github.com/username/repositry/issues/$1" }

این رو هم از طاها گرفتم. با دستور `hub 4132` در واقع Issue شماره 4132 در مرورگر اصلی‌تون براتون باز می‌شه. خسته نشیم یه وقت!

کار با Wordpress

این البته یه نیاز کاملا شخصی به حساب میاد. من چون تو پروژه‌های وردپرس از Gulp استفاده می‌کنم و برای دپلوی پوسته هم فرآیند اتوماتیکی ندارم ناچارم که فولدر رو Zip کرده و آپلود کنم. این موقع مشکلی که وجود داره وجود فایل‌های git و node_modules هست که تقریبا ۹۵٪ حجم فولدر و تشکیل می‌دن. برای اینکه یه فایل فشرده از پوسته بدون این فایل‌ها داشته باشم از دستور زیر استفاده می‌کنم:

alias zip-wp="zip -r ../theme-$(date '+%y-%m-%d-%k-%M-%S').zip * -x *.git*$

این دستور یه فایل zip برای من بیرون فولدر پوسته درست می‌کنه که نام‌ش با پترنی از تاریخ ساخته می‌شه و فایل‌های اضافی رو تو خودش نداره.



شما هم اگه Aliasی دارین که به درد می‌خوره و می‌تونین بهم معرفی کنین خوشحال‌م می‌کنین. بیاین همه با هم تنبل‌تر باشیم ?

shortcutmacosنکتهterminalبرنامه‌نویسی
شاید از این پست‌ها خوشتان بیاید