我浏览了许多教程,但我仍然无法弄清楚我做错了什么……我正在尝试下面的代码(在 .pl Perl 文件中,作为可执行文件):
#!/usr/bin/perl
perl -e 'print "Hello";'
我运行这个脚本并得到:
/home/user1/Desktop/file_backups.pl 的执行由于编译错误而中止。
(我是使用 Perl 调用 Linux 命令行的新手。)
原文由 Rick 发布,翻译遵循 CC BY-SA 4.0 许可协议
我浏览了许多教程,但我仍然无法弄清楚我做错了什么……我正在尝试下面的代码(在 .pl Perl 文件中,作为可执行文件):
#!/usr/bin/perl
perl -e 'print "Hello";'
我运行这个脚本并得到:
/home/user1/Desktop/file_backups.pl 的执行由于编译错误而中止。
(我是使用 Perl 调用 Linux 命令行的新手。)
原文由 Rick 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试:
#!/usr/bin/perl
# This is a comment ~~~
# This script will be run as a Perl script
# since 'perl' isn't a keyword or function in Perl
# something like this must fail:
#
# perl -e 'print "Hello";'
#
# The following should work.
print "Hello"; print " World\n";
或者,如果您希望您的 shell 脚本执行 Perl 代码:
#!/bin/sh
# That's a Bash script ~~~
# It's just a command line in a file ...
perl -e 'print "Hello World";'
背景: #!
是 解释器指令。
当命令被执行时,它被转换为解释器的执行。
原文由 miku 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
1 回答3.6k 阅读
perl
不是 Perl 脚本中的有效命令。如果您将该文件命名为 .sh 脚本,并在 shebang 行上使用#!/bin/bash
,它会起作用,但编写一个 bash 文件只是为了调用并没有多大意义Perl(为什么不直接调用 Perl?)既然您提到要与命令行交互,我将在这里提到您可以通过
@ARGV
数组获得 Perl 中的命令行选项。 (参见 perldoc perlvar 。)