[ 已解决 ]zypper 安装软件时使用通配符

今天安装vim插件的时候发现zypper似乎不支持通配符?如

sudo zypper in vim-plugin-*
Loading repository data…
Reading installed packages…
Package ‘vim-plugin-*’ not found.
Resolving package dependencies…

但《OpenSUSE12.2入门》中举了如下的例子:

以下命令将安装所有以"Moz"开头名称的所有软件包。请谨慎使用,尤其是当
删除软件包时。
zypper install ‘Moz*’

12.3中做了限制还是怎么回事?

人家有两个英文单引号表示进入表达式匹配模式你怎么没看到?直接像你那么输入 zypper 进入的是安装本地 RPM 模式,也就是说它试图匹配的是你当前运行 zypper 的文件夹下的 vim-plugin-*.rpm。

来自 Galaxy Note 2 上的 Tapatalk 4

忘了放这个了:

sudo zypper in 'vim-plugin*'
Loading repository data…
Reading installed packages…
Package ‘vim-plugin*’ not found.
Resolving package dependencies…

Nothing to do.

搜索的时候是可以的:

zypper se 'vim-plugin*'
Loading repository data…
Reading installed packages…

S | Name | Summary | Type
–±--------------------------±-------------------------±-------
i | vim-plugin-NERDcommenter | A plugin that allows f-> | package
| vim-plugin-NERDtree | A tree explorer plugin-> | package
| vim-plugin-a | Alternate files quickly | package

zypper in 和 zypper se 的参数是不同的,分别加 --help 可以看到。se 比 in 有更多的匹配模式。

你的表达式也是错的,不能有 “-”,否则下面匹配的就是各种不同的版本号。

zypper in “vim*” 在我这里是有的。

来自 Galaxy Note 2 上的 Tapatalk 4

多谢!我试了一下,zypper in “vim*” 出来的不止是插件,还包括vim-python这种,不过sudo zypper in 'vim-plugin*'出来的可能都是插件,因为去掉了vim-python,其他一些名称不相符的可能是依赖。看来得把-转义掉