📜  npm 获取安装版本 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:18:01.740000             🧑  作者: Mango

获取npm安装版本 - Shell/Bash

本文将介绍如何使用Shell/Bash脚本来获取已安装的npm软件包的版本号。我们将使用npm list命令来获取已安装软件包的版本信息,并将结果以Markdown格式输出和显示。

代码示例
#!/bin/bash

# 运行npm list命令,并将结果存储到变量中
npm_list=$(npm list)

# 提取软件包的版本信息
package_versions=$(echo "$npm_list" | grep -oP '(\S+)\s*$' | sed '1d')

# 输出Markdown格式结果
echo "已安装npm软件包的版本如下:"
echo "| 软件包 | 版本号 |"
echo "| ------- | ------ |"
while IFS= read -r line; do
  package_name=$(echo "$line" | awk '{print $1}')  # 提取软件包名称
  package_version=$(echo "$line" | awk '{print $2}')  # 提取版本号
  echo "| $package_name | $package_version |"
done <<< "$package_versions"
代码解析

首先,我们使用npm list命令将已安装的软件包列表输出到一个变量中。然后,我们使用grep和正则表达式来提取每个软件包的版本信息。接下来,使用sed命令删除列表的第一行,这是npm自身的版本号信息。

接下来,我们使用一个循环遍历每个软件包的版本信息。在循环中,我们使用awk命令提取软件包名称和版本号,并将其分别存储在两个变量中。最后,我们使用Markdown表格格式打印软件包名称和版本号。

结果示例

以下是使用上述代码的示例输出结果:

已安装npm软件包的版本如下:

| 软件包 | 版本号 | | ------- | ------ | | express | 4.17.1 | | lodash | 4.17.15 | | react | 16.13.1 | | react-dom | 16.13.1 | | ...

总结

通过上述代码示例,我们可以轻松获取已安装npm软件包的版本号,并将其以Markdown表格的形式输出。这对于程序员来说是一个非常方便的工具,可以快速查看已安装软件包的版本信息。