有没有办法检查给定 Linux 系统上安装了哪些编程语言?
例如,我最近在我的主机上安装了 Arch Linux,出于信息目的,我想了解/生成系统上预安装的所有编程语言及其版本的列表。
我一直在这样做尝试错误法 手动在终端上就像
python -V
perl -v
ruby -v
等等。我确信必须有比我正在做的更好的方法来找出这些信息。
我需要生成 Arch Linux 发行版上安装的编程语言列表。
答案1
没有简单的方法可以做到这一点。就 pacman 而言,编程语言只是像其他任何语言一样的包。所以你本质上是在要求一个经过过滤的包列表;由您来界定编程语言的构成。
话虽如此,它可以通过解析pacman
,或在本例中expac
的输出来暴力破解。
for l in $(expac -Q '%n' | awk '/^ruby$/||/^python$/||/^lua$/||/^haskell$/');\
do eval "$l" --version; done
Python 3.6.1
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
答案2
pacman -Ss | grep multilib | grep installed
这是列出所有安装的软件或语言的好方法。