Files
2026-08-27 21:09:14 +00:00

65 lines
1.1 KiB
Plaintext

---
title: Parse command-line arguments
sidebarTitle: Parse command-line arguments
mode: center
---
The _argument vector_ is the list of arguments passed to the program when it is run. It is available as `Bun.argv`.
```ts cli.ts icon="/icons/typescript.svg"
console.log(Bun.argv);
```
---
Running this file with arguments results in the following:
```sh terminal icon="terminal"
bun run cli.ts --flag1 --flag2 value
```
```txt
[ "/path/to/bun", "/path/to/cli.ts", "--flag1", "--flag2", "value" ]
```
---
To parse `argv` into a more useful format, use `util.parseArgs`.
```ts cli.ts icon="/icons/typescript.svg"
import { parseArgs } from "util";
const { values, positionals } = parseArgs({
args: Bun.argv,
options: {
flag1: {
type: "boolean",
},
flag2: {
type: "string",
},
},
strict: true,
allowPositionals: true,
});
console.log(values);
console.log(positionals);
```
---
Running `cli.ts` with the same arguments prints the parsed values.
```sh terminal icon="terminal"
bun run cli.ts --flag1 --flag2 value
```
```txt
[Object: null prototype] {
flag1: true,
flag2: "value",
}
[ "/path/to/bun", "/path/to/cli.ts" ]
```