linux shell脚本中的开头#!/bin/bash的含义


对于linux上需要执行 的shell脚本,通常第一行的内容是

#!/bin/bash

当然有很多时候不规范的写法可以忽略掉这一句,执行起来好像也是ok,结果没什么不一样 。。

这只是因为在我们常用 的linux系统上默认都是执行/bin/bash来执行我们的shell脚本,但是如果有些用户使用的是csh,那么缺少第一行的“#!/bin/bash的shell脚本执行结果就可能存在语法不兼容的问题,导致结果异常或者根本不能执行。

Shell脚本和我们常用的C语言或者C++语言编写编译出来的bin执行当不一样,shell是一种解释性语言,他需要专门的解析器来解析然后执行,不同的脚本语言需要匹配对应的解析器才能解析执行,比如python也是一中解释性编程语言,需要对应的ptthon解释器来解析执行。

我们linux上的shell 是bash shell,所以我们在编写一个脚本的时候需要在第一行添加”#!/bin/bash“. 这句话的意思是告诉执行器需要调用/bin/bash来执行我。

这也是在shell中唯一以#号开头却不代表是注释的意思,其他任何地方以#号开头的语句都会被认为是注释语句而忽略执行,所以这句话只能写在 shell的开头才有效。

#!/bin/bash

#this is a test shell

pwd

#this is a comment

who

#show date
date

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM