النصوص المترجمة:التنفيذ الضمني مقابل التنفيذ الصريح

StackOverflow https://stackoverflow.com/questions/3268748

  •  16-09-2020
  •  | 
  •  

سؤال

في هذا السؤال الخارق وقد نصحت أنه من الأفضل تنفيذ البرامج النصية المكتوبة بلغة مفسرة (فب ، بيثون ، الخ) من خلال تنفيذ صراحة المترجم وتوفير السيناريو كحجة ، مثل:

> php script.php

بدلا من إضافة سطر إلى البرنامج النصي لإخبار نظام التشغيل بتنفيذه ، مثل:

#!/usr/bin/php
<?php
echo "hello world";
?>

لماذا هذا صحيح?حدسي يقول لي أنه أكثر أمانا, في حالة نقل البرنامج النصي إلى النظام الذي يقع قابل للتنفيذ المترجم في مسار مختلف, ولكن هل هذا هو السبب الوحيد?

هل كانت مفيدة؟

المحلول

يتم تحسين قابلية النقل إذا كنت تستخدم هذا المصطلح:

#!/usr/bin/env php

ولكن لديها عيوب من تلقاء نفسها;انظر مناقشة أطول في http://sites.google.com/site/frankpzh/knowledge-library/shebang

نصائح أخرى

مسارات مختلفة سيكون السبب الرئيسي ، وخصوصا عندما تبدأ الثنائيات الحصول على تخزينها في مسارات 64-يرمز أو تثبيت في / البيرة / المحلية / بن / فب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top