以 #! 开头的配方被称为 Shebang 配方,它通过将配方主体保存到文件中并运行它来执行。这让你可以用不同的语言来编写配方:
在类似 Unix 的操作系统中,包括 Linux 和 MacOS,Shebang 配方的执行方式是将配方主体保存到临时目录下的一个文件中,将该文件标记为可执行文件,然后执行它。操作系统将 Shebang 行解析为一个命令行并调用它,包括文件的路径。例如,如果一个配方以 #!/usr/bin/env bash 开头,操作系统运行的最终命令将是 /usr/bin/env bash /tmp/PATH_TO_SAVED_RECIPE_BODY 之类。请记住,不同的操作系统对 Shebang 行的分割方式不同。
Windows 不支持 Shebang 行。在 Windows 上,just 将 Shebang 行分割成命令和参数,将配方主体保存到一个文件中,并调用分割后的命令和参数,同时将保存的配方主体的路径作为最后一个参数。