> ## Documentation Index
> Fetch the complete documentation index at: https://bun-1dd33a4e-farm-4f4b24fb-valkey-close-subscribed.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Run a Shell Command

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

It runs shell commands in JavaScript and TypeScript. To get started, import the `$` function from the `bun` package and use it to run shell commands.

```ts foo.ts icon="https://mintcdn.com/bun-1dd33a4e-farm-4f4b24fb-valkey-close-subscribed/9p1jVS6iJNkXZYG9/icons/typescript.svg?fit=max&auto=format&n=9p1jVS6iJNkXZYG9&q=85&s=a57cb48b80e3ce4b5e782abf91264f9d" theme={"theme":{"light":"github-light","dark":"dracula"}}
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.

```ts foo.ts icon="https://mintcdn.com/bun-1dd33a4e-farm-4f4b24fb-valkey-close-subscribed/9p1jVS6iJNkXZYG9/icons/typescript.svg?fit=max&auto=format&n=9p1jVS6iJNkXZYG9&q=85&s=a57cb48b80e3ce4b5e782abf91264f9d" theme={"theme":{"light":"github-light","dark":"dracula"}}
import { $ } from "bun";

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

***

To get each line of the output as an array, use the `lines` method.

```ts foo.ts icon="https://mintcdn.com/bun-1dd33a4e-farm-4f4b24fb-valkey-close-subscribed/9p1jVS6iJNkXZYG9/icons/typescript.svg?fit=max&auto=format&n=9p1jVS6iJNkXZYG9&q=85&s=a57cb48b80e3ce4b5e782abf91264f9d" theme={"theme":{"light":"github-light","dark":"dracula"}}
import { $ } from "bun";

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

***

See [Docs > API > Shell](/runtime/shell) for complete documentation.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.