Tôi có một kịch bản Hello World perl đơn giản.
#!/usr/bin/perl
print 'Hello world.';
Nó hoạt động tốt nếu tôi chạy qua perl <file_name>
, nhưng không thành công tôi chạy qua sh <file_name>
.
Sự hiểu biết của tôi về dòng đầu tiên là nó gọi shell perl (tương tự #! / Usr / bin / bash sẽ gọi shell bash). Vì vậy, sự khác biệt giữa hai lệnh là gì?
Tôi tìm thấy chủ đề này http://ubuntuforums.org/showthread.php?t=1133334 nói rằng sh <file_name>
"Trong trường hợp đó, bạn không chạy Perl chút nào, nhưng trình bao, sẽ gọi chương trình là 'in'." NẾU đó là trường hợp #! chỉ được giải thích như một bình luận. Nếu vậy, nó có cần thiết không?
(Tôi biết rằng tôi có thể chmod + x tệp và chạy nó một cách trực tiếp, nhưng tôi chỉ muốn biết sự khác biệt giữa hai phương thức tôi đang sử dụng)