LoginSignup
0
0

More than 3 years have passed since last update.

Node.jsを使ってコマンドライン引数を取得する

Last updated at Posted at 2020-10-23

コマンドラインから引数を取得するにはprocess.argvを使用する。

test.js
console.log(process.argv)

出力結果

$ node playground/test.js a a a a a a a
[
  '/usr/local/bin/node',
  '/Users/yutakaf/Desktop/git/weather_app/playground/test.js',
  'a',
  'a',
  'a',
  'a',
  'a',
  'a',
  'a'
]

process.argv0の元の値にアクセスするargv[0]必要があるかどうかを確認します。
2番目の要素は、実行中のJavaScriptファイルへのパスになります。
残りの要素は、追加のコマンドライン引数になります。

process.argv[2]から引数になることに注意しましょう。

環境

$ node -v
v12.18.4

JavaScript ES6での書き方ということが言いたかった。

引数をたくさん取得する場合

引数が可変する場合には下記のように要素を取得できる。
forなら下記のように、

test.js
for(var i = 0;i < process.argv.length; i++){
  console.log(`argv[${i}] = ${process.argv[i]}`);
}

mapを使うともっとスマートに書ける。

test.js
process.argv.map((v,i) => console.log(`argv[${i}] = ${v}`))

出力結果

$ node playground/test.js a a a a a a a
argv[0] = /usr/local/bin/node
argv[1] = /Users/yutakaf/Desktop/git/weather_app/playground/test.js
argv[2] = a
argv[3] = a
argv[4] = a
argv[5] = a
argv[6] = a
argv[7] = a
argv[8] = a

コメント

作業中に思い出せなかったこと、ちゃんと仕様を調べようと思ったのでまとめてみた。

References

process.argvのドキュメント
Node.jsでコマンドライン引数を取得する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0