kanta's spike

Nodejsでコマンドライン引数を扱いたい。

解決策

コマンドライン引数はprocess.argvで取得できる。

ただし、nodeコマンドとスクリプトのパスも引数に含まれてしまうため、 process.argv.slice(2)とすると良い。

spike.jsに以下を記述し、

console.log(process.argv);

nodespike.jsとその引数arg1 arg2 arg3を指定して実行すると、以下のように表示される。

$ node ./spike.js arg1 arg2 arg3
[
  '/usr/local/bin/node',
  './spike.js',
  'arg1',
  'arg2',
  'arg3'
]

arg1 arg2 arg3のみを取得する場合は、以下のように修正すると良い。

console.log(process.argv.slice(2));

実行すると、以下のようにarg1 arg2 arg3のみ表示される。

$ node ./spike.js arg1 arg2 arg3
[ 'arg1', 'arg2', 'arg3' ]

参考

作成日: 2023/11/17