我无法安静地为变量分配值(无控制台输出)。
我想分配npm list -g
给一个变量,但没有任何控制台输出,所以我这样做了:
npm_list=$(npm list -g &> /dev/null)
但是当我这样做时什么都不$npm_list
输出(我想是因为我将 npm 的输出返回到 /dev/null )。
是的……那我该怎么做呢?我对 shell 编程很陌生。
提前致谢!
使用 Git bash shell(对不起,我现在在 Windows 上,所以没有可用的 Zsh),这对我有用
npm_list=$(npm list -g 2> /dev/null)
是的,您将命令的所有输出发送到,/dev/null
因此$()
无法正确捕获输出。
你想要的只是:
npm_list=$(npm list 2>/dev/null)
尽管您可能想要一些可以处理的东西,但它是:
npm_list=$(npm list --parseable 2>/dev/null | tail -n +2)
npm_list=$(npm list -g) &> /dev/null
这似乎可以解决问题:)
我仍然不知道&符号的&>
确切含义。
当我$npm_list
现在回显时,它里面有所有的 npm 包。