1

値を静かに (コンソール出力なしで) 変数に割り当てるのに問題があります。

変数に割り当てたいnpm list -gが、コンソール出力がないため、次のようにしました。

npm_list=$(npm list -g &> /dev/null)

しかし、それを行うと$npm_list何も出力されません( npm の出力を /dev/null に返すためだと思います)。

うん…どうしよう。私はシェルプログラミングにかなり慣れていません。

前もって感謝します!

4

3 に答える 3

4

Git bash シェルを使用すると (申し訳ありませんが、私は現在 Windows を使用しているため、Zsh は利用できません)、これは私にとってはうまくいきます

npm_list=$(npm list -g 2> /dev/null)
于 2013-06-06T17:08:44.253 に答える
4

はい、コマンドからのすべての出力を に送信している/dev/nullため、$()は出力を適切にキャプチャしません。

あなたが望むのは単純です:

npm_list=$(npm list 2>/dev/null)

おそらく、処理できるものが必要な場合がありますが、それは次のようになります。

npm_list=$(npm list --parseable 2>/dev/null | tail -n +2)
于 2013-06-06T17:13:38.997 に答える
3

npm_list=$(npm list -g) &> /dev/null

これはトリックを行うようです:)

&>アンパサンドが正確に何を意味するのかまだわかりません。

今エコーすると$npm_list、すべてのnpmパッケージが含まれています。

于 2013-06-06T17:12:58.777 に答える