我们在终端中运行脚本时使用chmod 777 script.pl。 但是为什么我们在运行c程序时不使用chmod pg.c
答案 0 :(得分:4)
C程序通常不直接执行,而是编译成可执行文件。编译器设置该文件的权限,以便可以直接执行。
请注意,在显式调用解释器时,运行脚本不需要可执行标志。运行perl script.pl
始终有效,类似于gcc pg.c
始终有效的方式。仅当脚本在没有显式解释器的情况下运行时才需要可执行标志,即./script.pl
。然后,操作系统将从文件本身确定正确的解释器(例如,从#!/usr/bin/perl
行)。
答案 1 :(得分:0)
编译c程序时,它已经为您提供了可执行的二进制文件。但是如果Perl是一种解释语言,你不需要先编译它,你可以直接执行。因为需要+ x权限。