运行 tox 中的条件 bash 命令
Run a conditional bash command inside of tox
我正在尝试在 Tox 中 运行 条件 bash 命令。
如果用户将 'stag' 传递到脚本中,tox 应该 运行 一个 curl 命令;如果他们将 'prod' 传递到脚本中,它应该 运行 另一个 curl 命令。
[testenv]
ENV=
whitelist_externals=
/bin/bash
deps=
-rrequirements.txt
commands=
bash -ec 'curl https://this_is_just_sample_test.com'
pytest test/test.py
当我尝试向批处理命令引入条件时:
[testenv]
ENV=
whitelist_externals=
/bin/bash
deps=
-rrequirements.txt
commands=
bash -ec 'if [ == "stag"]; then curl https://this_is_just_sample_test.com fi'
pytest test/test.py
我收到以下错误消息:
ERROR: InvocationError for command '/bin/bash -ec if [ = "stag"];
then curl https://this_is_just_sample_test.com fi' (exited with code
2)
让我为您修复代码(我为 []
命令添加了空格,将参数更改为 [=13=]
并添加了一个分号):
[testenv]
whitelist_externals=
/bin/bash
deps=
-rrequirements.txt
commands=
bash -ec 'if [ "[=10=]" == "stag" ]; then curl https://this_is_just_sample_test.com; fi' {posargs}
pytest test/test.py
{posargs}
is a substitution 允许从 tox
调用传递命令行参数。像这样:
$ tox stag
我正在尝试在 Tox 中 运行 条件 bash 命令。
如果用户将 'stag' 传递到脚本中,tox 应该 运行 一个 curl 命令;如果他们将 'prod' 传递到脚本中,它应该 运行 另一个 curl 命令。
[testenv]
ENV=
whitelist_externals=
/bin/bash
deps=
-rrequirements.txt
commands=
bash -ec 'curl https://this_is_just_sample_test.com'
pytest test/test.py
当我尝试向批处理命令引入条件时:
[testenv]
ENV=
whitelist_externals=
/bin/bash
deps=
-rrequirements.txt
commands=
bash -ec 'if [ == "stag"]; then curl https://this_is_just_sample_test.com fi'
pytest test/test.py
我收到以下错误消息:
ERROR: InvocationError for command '/bin/bash -ec if [ = "stag"]; then curl https://this_is_just_sample_test.com fi' (exited with code 2)
让我为您修复代码(我为 []
命令添加了空格,将参数更改为 [=13=]
并添加了一个分号):
[testenv]
whitelist_externals=
/bin/bash
deps=
-rrequirements.txt
commands=
bash -ec 'if [ "[=10=]" == "stag" ]; then curl https://this_is_just_sample_test.com; fi' {posargs}
pytest test/test.py
{posargs}
is a substitution 允许从 tox
调用传递命令行参数。像这样:
$ tox stag