【发布时间】:2020-07-20 13:49:48
【问题描述】:
我有一个 tox 环境,我想在其中运行 {posargs} 上的 bash 命令(基本名称)并在后续命令中使用结果。我已经尝试了在 bash 中可以做到这一点的各种方法,但它们一直没有奏效。这个 sn-p 抓住了我想要完成的精神。
[testenv:docs]
commands =
export PACKAGE=$(basename {posargs})
ls $PACKAGE
【问题讨论】:
-
不适用于环境变量:
tox在新 shell 中运行每个命令,因此当第一个命令完成时,环境变量会消失。您必须将其保存在永久存储中的某个位置,例如文件。或者完全改变方法,比如传递预处理的{posargs},并在管道中的所有命令中使用它们。 -
我尝试的另一件事是 ls $(basename {posagrs}) 但这也不起作用,因为 tox 并不真正使用外壳。
标签: tox