Ich habe ein einfaches Hello World Perl-Skript.
#!/usr/bin/perl
print 'Hello world.';
Es funktioniert gut, wenn ich es ausführe perl <file_name>, aber es schlägt fehl, ich führe es aus sh <file_name>.
Mein Verständnis der ersten Zeile ist, dass sie die Perl-Shell aufruft (ähnlich wie #! / Usr / bin / bash eine Bash-Shell aufruft). Was genau ist der Unterschied zwischen den beiden Befehlen?
Ich habe diesen Thread http://ubuntuforums.org/showthread.php?t=1133334 gefunden , der besagt: sh <file_name> "In diesem Fall führen Sie überhaupt kein Perl aus, sondern die Shell, die das Programm 'print' aufruft." WENN das der Fall ist, ist das #! nur als Kommentar interpretiert. Wenn ja, wird es überhaupt benötigt?
(Mir ist bewusst, dass ich die Datei chmod + x und direkt ausführen kann, aber ich möchte nur den Unterschied zwischen den beiden von mir verwendeten Methoden kennen.)