zoukankan      html  css  js  c++  java
  • 关于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这一句没有任何意义,为了遵守规范,还是加上,有利于加强程序的可读性。

  • 相关阅读:
    windows环境python2.7安装MySQLdb
    查找文件中除了注释以外的中文
    python2的reload模块
    虚拟机网络连接NAT模式,本地用Xshell连接
    PHP中逻辑运算符的高效用法---&&和||
    mysql 的 alter table 操作性能小提示
    MySQL优化指南
    UTF-8的BOM含义
    MySQL中 指定字段排序函数field()的用法
    MySQL PROFILE 跟踪语句各阶段性能开销
  • 原文地址:https://www.cnblogs.com/slz-coder150315/p/4376402.html
Copyright © 2011-2022 走看看