> ## Documentation Index
> Fetch the complete documentation index at: https://bun.zhcndoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 解析命令行参数

*参数向量* 是运行程序时传递给程序的参数列表。它可以通过 `Bun.argv` 获取。

```ts cli.ts icon="https://mintcdn.com/bun-zhcndoc/cnUTwgMuf4cCrwC-/icons/typescript.svg?fit=max&auto=format&n=cnUTwgMuf4cCrwC-&q=85&s=e7767043c9e885c34f2d6c8fe2a95217" theme={"theme":{"light":"github-light","dark":"dracula"}}
console.log(Bun.argv);
```

***

运行该文件并传入参数输出如下：

```sh terminal icon="terminal" theme={"theme":{"light":"github-light","dark":"dracula"}}
bun run cli.ts --flag1 --flag2 value
```

```txt theme={"theme":{"light":"github-light","dark":"dracula"}}
[ '/path/to/bun', '/path/to/cli.ts', '--flag1', '--flag2', 'value' ]
```

***

要将 `argv` 解析为更有用的格式，可以使用 `util.parseArgs`。

示例：

```ts cli.ts icon="https://mintcdn.com/bun-zhcndoc/cnUTwgMuf4cCrwC-/icons/typescript.svg?fit=max&auto=format&n=cnUTwgMuf4cCrwC-&q=85&s=e7767043c9e885c34f2d6c8fe2a95217" theme={"theme":{"light":"github-light","dark":"dracula"}}
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);
```

***

然后输出：

```sh terminal icon="terminal" theme={"theme":{"light":"github-light","dark":"dracula"}}
bun run cli.ts --flag1 --flag2 value
```

```txt theme={"theme":{"light":"github-light","dark":"dracula"}}
{
  flag1: true,
  flag2: "value",
}
[ "/path/to/bun", "/path/to/cli.ts" ]
```
