Runtime
Bundler
Package Manager
Test Runner
Guides
Reference
Blog
Install Bun
Guides Runtime & Debugging

Run a Shell Command

Bun Shell is a cross-platform bash-like shell built into Bun.

It runs shell commands from JavaScript and TypeScript. To get started, import the $ function from the bun package.

foo.ts
import { $ } from "bun";

await $`echo Hello, world!`; // => "Hello, world!"

The $ function is a tagged template literal that runs the command and returns a promise that resolves with the command's output.

foo.ts
import { $ } from "bun";

const output = await $`ls -l`.text();
console.log(output);

To iterate over each line of the output, use the lines method.

foo.ts
import { $ } from "bun";

for await (const line of $`ls -l`.lines()) {
  console.log(line);
}

See Bun Shell.

On this page

No Headings