跳转到主要内容
在本页

可执行脚本

使 Deno 脚本可执行在创建用于文件操作、数据处理或您可能希望从命令行运行的重复性任务的小工具或实用程序时会派上用场。可执行脚本允许您创建临时解决方案,而无需设置整个项目。

创建一个示例脚本 跳转到标题

要使脚本可执行,请以 hashbang(有时称为 shebang)开头。这是一系列字符 (#!),它告诉您的操作系统如何执行脚本。它后面跟着应该用于运行脚本的解释器的路径。

注意

要在 Windows 上使用 hashbang,您需要安装适用于 Linux 的 Windows 子系统 (WSL) 或使用类似 Unix 的 shell,例如 Git Bash

我们将使用 Deno.env API 创建一个简单的脚本,用于打印 Deno 安装路径。

创建一个名为 hashbang.ts 的文件,其中包含以下内容

hashbang.ts
#!/usr/bin/env -S deno run --allow-env
const path = Deno.env.get("DENO_INSTALL");

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

此脚本指示系统使用 deno 运行时来运行脚本。-S 标志将命令拆分为参数,并指示将以下参数 (deno run --allow-env) 传递给 env 命令。

然后,脚本使用 Deno.env.get() 检索名为 DENO_INSTALL 的环境变量的值,并将其赋值给名为 path 的变量。最后,它使用 console.log() 将路径打印到控制台。

执行脚本 跳转到标题

为了执行脚本,您可能需要授予脚本执行权限,您可以使用带有 +x 标志(用于执行)的 chmod 命令来执行此操作。

chmod +x hashbang.ts

您可以直接在命令行中执行脚本:

./hashbang.ts

在没有扩展名的文件中使用 hashbang 跳转到标题

为了简洁起见,您可能希望省略脚本文件名的扩展名。在这种情况下,请在脚本本身中使用 --ext 标志提供一个扩展名,然后您就可以仅使用文件名运行脚本。

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

🦕 现在您可以直接从命令行执行 Deno 脚本了!记住要为您的脚本文件设置执行权限 (chmod +x),这样您就可以构建从简单的实用程序到复杂的工具的任何东西。查看 Deno 示例 以获取脚本编写灵感。