跳转到主要内容

通用shell变量表达式的评估器

项目描述

主页:

Shellvars主页

下载:

PyPI上的Shellvars

文档:

Shellvars文档

许可证:

MIT许可证

支持:

邮件列表(testing-in-python@lists.idyll.org)

问题追踪器:

Github问题

构建状态:
https://travis-ci.org/testing-cabal/shellvars.svg?branch=master

Shellvars

Python解释器,用于shell变量表达式。

shellvars支持Python 2.6及以上版本,并应支持Jython等。

以下表达式受到支持

  • $NAME

  • ${NAME}

  • ${NAME:-REPLACEMENT}

  • ${NAME-REPLACEMENT}

  • ${NAME:=REPLACEMENT}

  • ${NAME=REPLACEMENT}

  • ${NAME:?[ERRORMSG]}

  • ${NAME?[ERRORMSG]}

  • ${NAME:+REPLACEMENT}

  • ${NAME+REPLACEMENT}

递归表达式也受到支持。例如

>>> from shellvars import evaluate
>>> evaluate('${foo:-${bar:=baz}}', {})
('baz', {'bar': 'baz'})

有关shell变量语法的详细信息,请参阅您的shell或Posix文档。

用法

要评估一个表达式,请使用表达式和您希望表达式可用的任何变量调用evaluate。变量键和值都必须是字符串。从您的变量字典中缺失的变量在shell术语中被认为是“未设置”的。

返回值是评估后的字符串以及表达式执行的所有变量赋值。

保留未设置的表达式

shellvars有一个特殊模式,其中保留未设置变量的表达式而不是进行评估。这允许将它们传递到真正的shell进行解释,而无需用户进行特殊引号。例如

>>> from shellvars import SKIP
>>> evaluate('$foo $bar', {'foo': 'baz'}, absent=SKIP)
('baz $bar', {})

安装

使用pip进行安装

pip install shellvars

开发

通过pip安装测试依赖项

pip install .[test]

将更改作为PR推送到GitHub 存储库

错误追踪器

使用GitHub 问题跟踪器

发布

使用semver进行版本决策。

要发布

  1. 对仓库进行标记,例如1.2.3

  2. 构建已签名的sdist和wheel

  3. 上传到PyPI

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于安装软件包的信息。

源分布

shellvars-1.0.0.tar.gz (7.4 kB 查看哈希值)

上传时间

构建分布

shellvars-1.0.0-py2.py3-none-any.whl (11.5 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面