为什么我们需要在运行Perl脚本时使用chmod提供可执行权限但是在运行c程序时没有这样做?

时间:2017-10-29 12:34:06

标签: c perl chmod

我们在终端中运行脚本时使用chmod 777 script.pl。 但是为什么我们在运行c程序时不使用chmod pg.c

2 个答案:

答案 0 :(得分:4)

C程序通常不直接执行,而是编译成可执行文件。编译器设置该文件的权限,以便可以直接执行。

请注意,在显式调用解释器时,运行脚本不需要可执行标志。运行perl script.pl始终有效,类似于gcc pg.c始终有效的方式。仅当脚本在没有显式解释器的情况下运行时才需要可执行标志,即./script.pl。然后,操作系统将从文件本身确定正确的解释器(例如,从#!/usr/bin/perl行)。

答案 1 :(得分:0)

编译c程序时,它已经为您提供了可执行的二进制文件。但是如果Perl是一种解释语言,你不需要先编译它,你可以直接执行。因为需要+ x权限。