关于linux系统bash shell编程中开头#!/bin/bash的理解

在shell编程中,shell脚本开头第一句通常是#!/bin/bash,关于本句的理解,网上存在争论,今天我做了点实验,结果证明本句没有任何意思,只是编程人员的一种规范化的编程格式。

"#"这个符号在shell脚本中是注销符号后面语句的意思,我编写了如下一段代码,放在test.sh文件中,如下:

//*******test.sh******


#slz


//*******end*********

运行:

#> sh test.sh

运行正确,表明脚本内的代码#slz没有执行,否则应该会报错。


"!"这个符号只是格式,没有什么实际含义,也没有作用,我编写如下代码测试:

//********test1.sh*******


#!slz


//********end************

运行:

#> sh test1.sh

运行没有报错,表示脚本中内容已被注释。


//**********test2.sh*******


!slz


//**********end************

运行:

#> sh test2.sh

出错,表示"!"只是普通字符,没有特别含义。


有人说本句是为了解释本程序是bash shell脚本程序,并且让系统在/bin/bash下寻找解释程序。

我把本句删除,照样可以运行,如下:

//*********test3.sh*********


echo "hello world"


//*********end***************

运行:

#> sh test3.sh

运行成功,终端显示hello world

说明#!/bin/bash并不是在告诉系统解释器的位置的作用。


综上验证,#!/bin/bash这一句没有任何意义,为了遵守规范,还是加上,有利于加强程序的可读性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值