bash - 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
`));
解决方案
你可以这样做:
#!/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 )
,它将无法正常工作。您将不得不解决输出格式,但根据您提供的内容,这将起作用。
推荐阅读
- javascript - Vuetify 自定义验证以确认密码
- xcode - Xcode - 防止在构建后切换屏幕
- python - 由于“ImportError”,新的 Python 项目无法运行测试
- .net - .NET 核心 3.0 和 MS Office 互操作
- ios - 与 react-native-vector-icons 的链接问题
- parsing - 如何描述识别通配符标识符的 lex 或 yacc 规则?
- dialog - 动态生成瀑布列表
- mysql - 在基于另一个表的选择中创建动态列名
- php - 如何在laravel中计算excel文件导入中的行数?
- c# - StructureMap 注册单一组件类型,满足多于一种服务