Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我创建了一个名为test.pl.
test.pl
我更改了 chmod u+x 的权限模式:
chmod u+x test.pl
我创建了一个符号链接:
ln -s path/test.pl test
之后,我尝试运行test,但它被解释为 bash 脚本。它给出了一个错误。
test
请问你知道为什么吗?
test是一个内置命令。
要执行test在当前目录中命名的命令,请指定(相对或绝对)路径:
$ ./test
此外,您需要#!/usr/bin/perl在脚本的第一行拥有,以便系统知道如何执行它。
#!/usr/bin/perl
您的脚本必须有一个 shebang 行,即包含要使用的解释器的第一行。
#!/usr/bin/env perl #... your script content here.
所以shell知道如何解释它。
顺便说一句,最佳实践是用来env确定您当前的 perl 版本,特别是在使用perlbrew或类似工具时,它们除了系统工具之外还安装了自己的 perl。
env
perlbrew