通用shell变量表达式的评估器
项目描述
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.2.3
构建已签名的sdist和wheel
上传到PyPI
版权
版权所有(C)2015 罗伯特·柯林斯 <robertc@robertcollins.net>
任何人都可以免费获得本软件及其相关文档文件(“软件”)的副本,并且不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向提供该软件的个人或实体这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和侵权保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任(无论基于合同、侵权或其他原因)承担责任,无论是否与软件或软件的使用或以其他方式有关。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于安装软件包的信息。
源分布
构建分布
shellvars-1.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 293b2306f0be24a17865ffdd86eed5a86b2b915ea7609acf5bef504bfa58469d |
|
MD5 | 4ff81f1f6cb71cb881aa6aa99b4ef794 |
|
BLAKE2b-256 | 5e98d9c87a43868b8a596c31ddb6d35d30b1d6e644eba1b0d85f88c042c86a82 |
shellvars-1.0.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fe4fd0235b48f4ab7f4aece905974510aa9aab81bb85dc3e89cc7566055a4e26 |
|
MD5 | 0e1a46ef2b1750d821c92ededba228f7 |
|
BLAKE2b-256 | fca6610f4d0f5ceaaaee2ea9974554bae8299ff8620c709bee7b8dea707cac76 |