> For the complete documentation index, see [llms.txt](https://reloaderlev.gitbook.io/russian-goit-node-js-new-program/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://reloaderlev.gitbook.io/russian-goit-node-js-new-program/vstup-v-node.js/rabota-s-argumentami-komandnoi-stroki-argv.md).

# Работа с аргументами командной строки argv

Кроме простого запуска нашего Node.js скрипта `node <путь_к_скрипту>` мы также можем передавать в него дополнительные аргументы (что-то вроде передачи аргументов функции) `node <путь_к_скрипту> --argument1 argumentValue`. Эти аргументы называются аргументами командной строки.

Для простого витягивания аргументов комадной строки мы можем воспользоватся массивом `process.argv`

Но для того, чтобы реализовать сложную логику, использовать process.argv будет неудобно.

Для более сложных случаев используется такой npm-пакет, как [yargs](https://www.npmjs.com/package/yargs)

```
#!/usr/bin/env node
const argv = require('yargs').argv
 
if (argv.ships > 3 && argv.distance < 53.5) {
  console.log('Plunder more riffiwobbles!')
} else {
  console.log('Retreat from the xupptumblers!')
}
```
