从品牌网站建设到网络营销策划,从策略到执行的一站式服务
最近在学习shell编程,对于shell脚本中第一行用于指定脚本解释器的代码到底有没有起到指定解释器的作用感到疑惑,如:#!/bin/bash
专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!成都创新互联公司为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,成都网站设计、成都做网站负责任的成都网站制作公司!
在网上查找了不少资料,发现网上竟然也分了两大派,一些人认为#!/bin/bash没有起到作用,因为在shell脚本中#表示是注释的意思,而另一些人则认为是起作用的,但是没有给出令人信服的理由,没办法,我只好自己动手做测试了。
1.首先我先创建了一个名为test.sh的shell文件,里面内容如下
这个脚本文件中的第二行代码使用了bash语法,不支持POSIX规范,所以如果这个文件是以bash解释器运行的话,是可以正常运行,而如果换为sh解释器的话,便会报语法错误
修改test.sh权限
然后直接执行test.sh
可以看到,脚本成功运行,没有报错,然后我将第一行修改为#!/bin/sh
2.然后运行
这个时候便报了一个语法错误
由此可以得出结论,shell脚本的第一行指定脚本解释器是确实起作用的,不过值得注意的是,当我们使用指定解释器运行脚本的时候,我们脚本文件中的第一行会失效,比如通过bash+文件名运行脚本的方式,这样即便我在文件中指定是sh解释器,结果依然会以bash解释器运行的。
(本文由源码时代技术老师原创撰写,转载请注明出处)
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图