首页 > 解决方案 > Bash pip 搜索检查版本包含在标准输出中

问题描述

我正在尝试进行点搜索。

pip search --index https://obfuscated/python-release docker-client

这返回 docker-client (1.3.0) - Client library for Docker Pipeline - 0f7f2d821d09db2f268281c84e298967a6df4b11

我希望能够搜索该输出字符串以匹配我的 bash 脚本中的版本。例如,我想将该标准 grep 以确保它确实是 1.3.0 版。我将如何在下面的 bash 脚本中执行此操作。

set -e
if pip search --index https://obfuscated/python-release docker-client; then
    echo " hello world"
fi
`));

标签: bashpip

解决方案


你可以这样做:

#!/bin/bash

version='1.3.0'

if [ $(pip search --index https://obfuscated/python-release docker-client | grep -c $version) -eq 1 ]
then
    echo "OK version $version it is."
else
    echo "ERROR: pip failure, or wrong version."
fi

显然,如果版本号没有出现在所有地方,这将起作用。前任。如果pip退回( 1.3.4, upgrade from 1.3.0 ),它将无法正常工作。您将不得不解决输出格式,但根据您提供的内容,这将起作用。


推荐阅读