typora/note/Shell/shebang _!.md
2024-12-12 10:48:55 +08:00

635 B
Raw Blame History

shebang指的是出现在文本文件的第一行的前两个字符 #!

  • #! /bin/sh 开头的文件,程序执行时会调用 /bin/sh,也就是 bash 解释器
  • #! /usr/bin/python 开头的文件代表指定python 解释器去执行
  • #! /usr/bin/env 解释器名称 开头,是一种在不同平台上都能找到解释器的写法

注意:

  • 未指定 shebang ,脚本执行时会用当前 shell 去运行脚本,$SHELL
  • shebang 之后的解释程序,需要写绝对路径,不会自动到 $PATH 中自动寻找解释器
  • 脚本作为参数传递给解释器,会忽略脚本中的 shebang