<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [NS](./bitburner.ns.md) &gt; [flags](./bitburner.ns.flags.md)

## NS.flags() method

Parse command line flags.

**Signature:**

```typescript
flags(schema: [string, string | number | boolean | string[]][]): { [key: string]: ScriptArg | string[] };
```

## Parameters

|  Parameter | Type | Description |
|  --- | --- | --- |
|  schema | \[string, string \| number \| boolean \| string\[\]\]\[\] |  |

**Returns:**

{ \[key: string\]: [ScriptArg](./bitburner.scriptarg.md) \| string\[\] }

## Remarks

RAM cost: 0 GB

Allows Unix-like flag parsing.

We support 2 forms:

- Short form: the flag contains only 1 character, e.g. -v.

- Long form: the flag contains more than 1 character, e.g. --version.

## Example


```js
export async function main(ns) {
  const data = ns.flags([
    ['delay', 0], // a default number means this flag is a number
    ['server', 'foodnstuff'], //  a default string means this flag is a string
    ['exclude', []], // a default array means this flag is a default array of string
    ['help', false], // a default boolean means this flag is a boolean
    ['v', false], // short form
  ]);
  ns.tprint(data);
}

// [home /]> run example.js
// {"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":false,"v":false}
// [home /]> run example.js --delay 3000
// {"_":[],"delay":3000,"server":"foodnstuff","exclude":[],"help":false,"v":false}
// [home /]> run example.js --delay 3000 --server harakiri-sushi
// {"_":[],"delay":3000,"server":"harakiri-sushi","exclude":[],"help":false,"v":false}
// [home /]> run example.js --delay 3000 --server harakiri-sushi hello world
// {"_":["hello","world"],"delay":3000,"server":"harakiri-sushi","exclude":[],"help":false,"v":false}
// [home /]> run example.js --delay 3000 --server harakiri-sushi hello world --exclude a --exclude b
// {"_":["hello","world"],"delay":3000,"server":"harakiri-sushi","exclude":["a","b"],"help":false,"v":false}
// [home /]> run example.js --help
// {"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":true,"v":false}
// [home /]> run example.js -v
// {"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":false,"v":true}
```

