我对bash语法非常不熟悉,而且我遇到了如何使用前一个操作中的字符串作为后续操作的输入的问题。这就是我现在所拥有的:
#!/bin/bash
searchTerm=$1
results=$(npm search $searchTerm --json | jq '.[].name')
for term in $results
do
info=$(npm info $term)
echo "####" $info
done
执行的命令如下所示并失败:
npm info "\"exampleTerm\""
如何在for循环中使用$term
与npm info
结合使用?
答案 0 :(得分:1)
一个(长)单行将会这样做......
npm search react-redux --json | jq '.[].name' | xargs -I pkg sh -c 'echo "#### $(npm info $1)"' - pkg
答案 1 :(得分:0)
答案是使用如下的eval:
#!/bin/bash
searchTerm=$1
results=$(npm search $searchTerm --json | jq '.[].name')
for term in $results
do
info=$(eval npm info "$term")
echo "####" $info
done