Нет простого способа сделать это. Что касается 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]
Это может быть вызвано несоответствием протокола SMB. Вы можете указать версию протокола SMB с опцией -m
для команды smbclient
, например. -m SMB3
.