免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 18964 | 回复: 7
打印 上一主题 下一主题

行首: #!/usr/bin/perl -s 表示什么意思阿 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-21 10:47 |只看该作者 |倒序浏览
RT

论坛徽章:
0
2 [报告]
发表于 2011-04-21 10:52 |只看该作者
#!/usr/bin/perl解析


在 Unix/Linux 环境中,一个脚本程序(程序文件必须是文本格式)通常以这样一行开始:
#!/usr/bin/perl

命令行,以#开始,特别像注释行,其实非也。其中,“#!” 在 Unix/Linux 中称为“Magic Word(什么神奇语句,也就是command interpretation)”,这是为了指明该脚本程序的默认处理程序(也就是说接下来的程序将是由perl这玩意来执行的)。我们这里给出的是“/usr/bin/perl”,也就是说,如果我们的程序(假设文件名为:hello.pl)第一行是上述内容的话,当我们直接执行以下命令时:

user@server$ ./hello.pl

系统默认是用“/usr/bin/perl”来解析并执行 hello.pl 的。

论坛徽章:
0
3 [报告]
发表于 2011-04-21 10:53 |只看该作者
其实我想知道后面的-s是什么意思。因为发现./**.pl 和用perl **.pl 两个命令的执行结果不一样。。。。

论坛徽章:
0
4 [报告]
发表于 2011-04-21 10:56 |只看该作者
回复 2# leigh111


    谢谢你的回答哦。。。:)

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
5 [报告]
发表于 2011-04-21 11:16 |只看该作者
其实我想知道后面的-s是什么意思。因为发现./**.pl 和用perl **.pl 两个命令的执行结果不一样。。。。


./**.pl 的时候会检查第一行的参数解析并执行这个程序,你出的例子中,就会调用 /usr/bin/perl -s  来解析
如果使用
perl **.pl  这时,就不需要检查第一行的参数,直接使用你前面指定的解析程序来解析。

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
6 [报告]
发表于 2011-04-21 11:21 |只看该作者
perl x.pl   #! 中提供的参数还是有效的。 -s 可以去查 perlrun,传入参数用的例子很好

论坛徽章:
0
7 [报告]
发表于 2011-04-21 13:07 |只看该作者
谢谢iakuf 和 zhlong8的耐心解答。

论坛徽章:
0
8 [报告]
发表于 2011-04-22 13:13 |只看该作者
5楼说的很清晰。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP