Shebang!
فهرست
مقدمه
در لینوکس ما چیزی به نام shebang داریم که مشخص میکنه یک فایل با استفاده از چه مفسری اجرا بشه.
اگر زبان های برنامه نویسی رو به دو دسته تقسیم کنیم، زبان های مفسری و زبان های کامپایلری را خواهیم داشت. زبان های کامپالری مثل C زبان هایی هستند که کدی که شما نوشتهاید را به زبان ماشین تبدیل میکنند. و بعد شما میتوانید فایل کامپایل شده را اجرا کنید.
اما زبان های مفسری کد شما را مستقیم اجرا میکنند. bash, python, perl جزو زبان های مفسری هستند.
خب همینطور که میدانید شما باید کدی که به زبان پایتون نوشتهاید را توسط مفسر پایتون اجرا کنید.
برای اینکه بتوانید درون فایل مسیر مفسر را مشخص کنید کافیه از علامت بخصوص shebang استفاده کنید. این علامت در بالاترین قسمت فایل با یک هشتگ و کنار آن علامت تعجب مشخص میشود و البته به دنباله آن مسیر مفسر نوشته میشود. سیستم عامل با خواندن این خط تشخیص میدهد که این فایل را باید به کدامیک از مفسر ها برای اجرا بسپارد.
البته استفاده از shebang فقط خود مسفر را انتخاب نمیکند بلکه ورژن های مختلف مفسر های نصب شده را هم مشخص میکند.
#!/bin/python3.7
print('hello, world!)
این نکته را به خاطر داشته باشید که ممکن است باینری مفسر شما در مسیری که مشخص کردهاید موجود نباشد. مسیر درست مفسر در متغییر محیطی هر کاربر ذخیره شده است. و برای اینکه ما مسیر درست را به اسکریپت بدهیم باید باید shebang را به شکل زیر بنویسیم.
/usr/bin/env **InterpreterName**
برای مثال برای مشخص کردن مفسر پرل به این صورت عمل میکنیم:
/usr/bin/env perl
مثال
برای مثال ما دو قطعه کد به دو زبان مختلف را با دو مفسر مخلف اجرا میکنیم.
- python
#!/usr/bin/env python3
print("hello, world!")
- bash
#!/usr/bin/env sh
echo "hello, world!"