2017-04-27 11 views
0

私はmakefileの中でいくつかの依存関係をリンクするためにjqコマンドを実行しようとしていますが、do-done内の行は何か分かりません。 echo "$$ dep"だけを使用している場合、私は何が起こっているのか理解していますが、完全なコード行([-f "$$ dep/package.json"] & & echo "$$ dep";)失われます。誰にも分かりますか?ありがとう。jqを使用してpackage.jsonから依存関係の情報を抽出します

jq -r '.dependencies,.devDependencies|keys[]' $< | while read -r dep; do \ 
    [ -f "$$dep/package.json" ] && echo "$$dep"; \ 
done | (piping forward) 

答えて

0

これはmakefileにあるため、理解する必要があるのは2つあります。 、... do ... doneに理解するために、

Makefile and use of $$

第二に、これは条件付きのシェルと本質的に同等であることを覚えている:まず、「$$」、変数($$dep)、このstackoverflowの質問を参照を理解します形式:

このテストの詳細については、次を参照してください。 http://wiki.bash-hackers.org/commands/classictest

+0

ここで '[-f" $$ dep/package。part] 'はそのファイルが存在するかどうかを確認していますか? – bgiuga

関連する問題