【问题标题】:Checking PEAR version检查 PEAR 版本
【发布时间】:2011-12-12 21:14:24
【问题描述】:

我正在使用 Chef 编写服务器自动化脚本,我需要检查 PEAR 包管理器的安装版本。命令行开关-V将详细的版本信息打印到控制台:

PEAR Version: 1.9.0
PHP Version: 5.3.5-1ubuntu7.2ppa1~lucid
Zend Engine Version: 2.3.0
Running on: Linux ubuntu-lucid-32-generic 2.6.32-33-generic #72-Ubuntu SMP Fri Jul 29 21:08:37 UTC 2011 i686

但是,我无法隔离该结果的 1.9.0 部分并对其进行测试。 pear 脚本似乎没有打印到 STDOUT,因为重定向也不起作用:

$ pear -V > pear_version
PEAR Version 1.9.0
...
$ cat pear_version
$

如何捕获输出并将其传递给 grep,以便仅返回“1.9.0”?

【问题讨论】:

    标签: shell stdout pear


    【解决方案1】:

    (假设您的 shell 是 linux/unix 变体,例如 bash)

    我没有要测试的梨,但我猜丢失的版本信息会发送到 STDERR,所以试试

     pearVer=$(pear -V 2>&1 | sed '/^PEAR Version: /s///')
    

    这仅匹配以“PEAR 版本”开头的行。 's///' 是简写,'匹配第一个表达式并将其替换为 '//'(无)。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-10-10
      • 1970-01-01
      • 2010-12-30
      • 2014-08-04
      • 2016-08-15
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多