2016-10-13 8 views
0

私は、既存のディレクトリ内のディレクトリを自動化して作成しようとしていますbeatles、次のパラメータを設定する方法は?mkdirにパラメータを追加するには?

"scripts": { 
    "test": "mkdir $(echo beatles/$1)" 
    }, 

私はそれをテストしたが、それは動作しません:

npm run test ringo 

それはビートルズという名前の既存のディレクトリ内のディレクトリリンゴを作成する必要があります。

beatles/ringo 
+0

'mkdir -p beatles/$ 1'は必要に応じてすべてのパス要素を作成する必要があります。 '$(echo ...)'サブシェルの複雑さが何であるか分かりません。 – thrig

+0

@thrig私は最も簡単な方法を最初に試しましたが、それもうまく動作しません 'mkdir beatles/$ 1' – Hao

+0

@MikelパラメータはUNIX中心です – Hao

答えて

0

を私は推測しますこの答えに基づいてnpmを使用すると、パラメータをUNIXコマンドにインライン化することはできません。

NPM run script pass argument from one script to another

..npmは、パラメータをスクリプトに追加します。

コマンドでパラメータをインライン化できる唯一の方法は、別のスクリプト経由でパラメータを呼び出すことです。私はこのcreate-dir.sh

mkdir beatles/$1 

を作成し、NPMスクリプト変更:

"scripts": { 
    "test": "./create-dir.sh" 
}, 

そして、これを実行しているが...

npm run test ringo 

..theディレクトリリンゴは内に作成されます何かのディレクトリ

私は喜んで他のアプローチがあれば

関連する問題