Linux脚本第一行的 #! 的解释说明

当要在Linux系统上(Ubuntu,Centos,当然Macos系统也是可以)进行脚本文件的编辑的时候,必须要在脚本文件的开头声明该脚本文件的需要有哪种解释器进行解释执行,例如

  • sh解释器
#!/bin/sh
  • bash解释器
#!/bin/bash

以上两种解释器,是采用绝对路径的方式进行指定解释器的位置,可想而之这两种指定解释器路径的方式移植性差,如果在他人的电脑上执行你的脚本文件,而他们的解释程序的路径和你指定的不一致,脚本就运行不起来了,因此可以使用如下方式:

  • /usr/bin/env xx
    • ruby
        #!/usr/bin/env ruby
    
    • python
        #!/usr/bin/env python
    

以上两种方式都是通过 env环境变量容器 中去寻找指定的脚本。这种写法在你机器上安装了多个版本的python的时候有意义,这样声明的时候,会去取你机器的 PATH 中指定的第一个 python 来执行你的脚本。

你可能感兴趣的:(Linux脚本第一行的 #! 的解释说明)