شیبنگ چیست؟
جمعه, ۲ فروردين ۱۳۹۲، ۰۴:۳۴ ب.ظ
خب دوستان عزیز، بعض از مدتها تونستم یه وقت آزاد پیدا کنم و یه پست جدید
بذارم :) امیدوارم که مفید باشه. تو این پست میخوایم کمی در رابطه با
شیبنگ صحبت
کنیم.
چی؟ این دیگه چه کلمهای هست؟ شیبنگ فارسی شدهی کلمهی Shebang تو انگلیسی هست و به جفت علامت زیر اطلاق میشه:
کجا ازش استفاده میشه؟ از این جفت علامت توی برنامهنویسیِ برنامههایی که میخوایم تحت ترمینال اجرا بشن، استفاده میکنیم.
یه مثال میزنی؟ به طور مثال، میخوایم برنامهای رو به زبان «پایتون سه» بنوسیم تا تحت ترمینال اجرا میشه، کد زیر رو توی یک فایل به اسم مثلن mesal.py و دیرکتوری HOME ذخیره میکنیم.
روش اول: توی این روش باید به صورت کاملن مشخص بگیم که خانم مفسر پایتون سه، تو رو جون هرکی دوست داری برو اجراش بکن :) .
روش دوم: توی این روش، میتونیم از طریق دستور زیر برنامه رو اجرا کنیم.
شد یه بار عین آدم حرف بزنی؟ درست بگو. شیبنگ یک جفت علامت هست و در برنامههایی استفاده میشه که می خواهیم برنامهای که تحت ترمینال اجرا میشه به صورت خودکار هنگام اجرا شدن، مفسر را تشخیص دهد و نیازی نباشد که هر بار برای اجرا شدن، یه صورت مشخص مفسر را مشخص کنیم. تنها با اجرا کردن برنامه، خودش مفسر را جستوجو و پیدا میکند. (در صورتی جستوجو میکند که از دقیقن دستور بالا استفاده کرده باشیم).
نکته: طبق اطلاع رسانی دوست خوبمون آقای امامیان، شیبنگ مخفف کلمههای زیر است.
(#)SHarp
(!)BANG
برای اطلاعات بیشتر: +
چی؟ این دیگه چه کلمهای هست؟ شیبنگ فارسی شدهی کلمهی Shebang تو انگلیسی هست و به جفت علامت زیر اطلاق میشه:
#!به جز شیبنگ بهش هشبنگ (hashbang) یا ... هم گفته می شود.
کجا ازش استفاده میشه؟ از این جفت علامت توی برنامهنویسیِ برنامههایی که میخوایم تحت ترمینال اجرا بشن، استفاده میکنیم.
یه مثال میزنی؟ به طور مثال، میخوایم برنامهای رو به زبان «پایتون سه» بنوسیم تا تحت ترمینال اجرا میشه، کد زیر رو توی یک فایل به اسم مثلن mesal.py و دیرکتوری HOME ذخیره میکنیم.
#!/usr/bin/env python3خب حالا این برنامهرو چجوری اجرا کنیم؟ برای اجرا باید ابتدا به این فایل اجازهی اجرا شدن بدیم. چون برنامهمون برنامهی خاصی نیست و خودمون هم نوشتیمش، با دستور زیر بهش اجازه میدیم که هرکی خواست اجراش کنه. (البته این اجازه رو نباید به هر فایلی که از اینور اونور گیر آوردیم، بدیم)
print ('Salam Donyaaaaa')
$ chmod a+x mesal.pyخب الان که اجازهی اجرا شدن اون توسط هر بنیبشری بهش داده شده :) از دو طریق میشه اون رو اجرا کنیم.
روش اول: توی این روش باید به صورت کاملن مشخص بگیم که خانم مفسر پایتون سه، تو رو جون هرکی دوست داری برو اجراش بکن :) .
$ python3 mesal.pyتوی این روش چون داریم از روش «التماس به صورت مستقیم» استفاده میکنیم! و اسم python3 رو آوردیم، خط اول برنامه که شیبنگ داره بلا استفاده میمونه.
روش دوم: توی این روش، میتونیم از طریق دستور زیر برنامه رو اجرا کنیم.
$./mesal.pyیا از طریق دستور زیر (که با دستور بالا یکی هست):
$ /home/salman/mesal.pyتوی این روش، بر خلاف روش اول، ما به طور مستقیم نرفتیم که التماس خانم پایتون سه بکنیم که بیا و برنامه رو برای ما اجرا کن! در یک حرکت کاملن حقبهجانبانه، میگیم که، برنامهی mesal.py اجرا بشو ! و از اونجایی که این mesal.py خیلی خنگ تشریف دارن! نمیدونن برن التماس کی کنن که برنامه رو اجرا کنه، برای همین ما قبلن توی خط اول برنامه بهش گفتیم که کجا بره و به کی بگه که برنامه رو اجرا کنه.
شد یه بار عین آدم حرف بزنی؟ درست بگو. شیبنگ یک جفت علامت هست و در برنامههایی استفاده میشه که می خواهیم برنامهای که تحت ترمینال اجرا میشه به صورت خودکار هنگام اجرا شدن، مفسر را تشخیص دهد و نیازی نباشد که هر بار برای اجرا شدن، یه صورت مشخص مفسر را مشخص کنیم. تنها با اجرا کردن برنامه، خودش مفسر را جستوجو و پیدا میکند. (در صورتی جستوجو میکند که از دقیقن دستور بالا استفاده کرده باشیم).
نکته: طبق اطلاع رسانی دوست خوبمون آقای امامیان، شیبنگ مخفف کلمههای زیر است.
(#)SHarp
(!)BANG
برای اطلاعات بیشتر: +
- ۹۲/۰۱/۰۲
- ۲۰۹۸ نمایش
:Shebang
(#)SHarp
(!)BANG