跳至主要内容

使用 Hashbang(Shebang)使脚本可执行

概念

  • Deno.env 提供环境变量。
  • env 在修改后的环境中运行程序。

概述

使 Deno 脚本可执行在创建小型工具时非常有用。

注意:Hashbang 在 Windows 上不起作用。

示例

在这个程序中,我们授予上下文访问环境变量并打印 Deno 安装路径的权限。

#!/usr/bin/env -S deno run --allow-env

/**
* hashbang.ts
*/

const path = Deno.env.get("DENO_INSTALL");

console.log("Deno Install Path:", path);

权限

您可能需要授予脚本执行权限。

Unix

chmod +x hashbang.ts

执行

像任何其他命令一样调用脚本以启动它。

./hashbang.ts

详细信息

  • 必须在第一行放置一个井号。

  • -S 将命令拆分为参数。

  • .ts 结尾的文件名,以便脚本被解释为 TypeScript。

在没有扩展名的文件中使用井号

您可能不希望为脚本的文件名使用扩展名。在这种情况下,请使用--ext 标志提供一个。

$ cat my_script
#!/usr/bin/env -S deno run --allow-env --ext=js
console.log("Hello!");
$ ./my_script
Hello!