0
私はターミナルにシェルスクリプトを書くことを学んでいます。私はnpm initプロセスを自動化しようとしています。ちょうど練習のためです。だから、私は端末からすべてのパラメータを読み込み、npm init
を自動的に実行しようとします。ただし、npm init
がエントリポイントを要求すると、プロセスは常に中止されます。入力キーを押すか、変数を使用してシミュレーションを行うために空白行を残しておけば、どこでもうまく動作します。なぜその時点で終了するのですか?シェルスクリプト入力がnpm initのために機能しない
read -p "Project name: " name;
read -p "Version: " version;
read -p "Project description: " description;
read -p "Entry point: " entryPoint;
read -p "Test command: " testCommand;
read -p "Git repository: " gitRepo;
read -p "Keywords: " keywords;
read -p "Author: " author;
read -p "License: " license;
read -p "Is this okay?: " isOkay;
npm init <<!
$name
$version
$description
$entryPoint
$testCommand
$gitRepo
$author
$license
$isOkay
!
ターミナル入力し、結果のスクリプトを実行している:
Project name: name
Version: 1.0.0
Project description: description
Entry point: app.js
Test command:
Git repository:
Keywords:
Author: Author
License: ISC
Is this okay?: yes
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (node) name
version: (1.0.0) 1.0.0
description: description
entry point: (index.js)
そして、それはそれです。毎回エントリポイントで終了します。
興味深い。これは動作します - ありがとう。 'spawn npm init'の直後に約10秒の遅延があります。どんな考え? – cweber105