【发布时间】:2017-11-24 04:03:43
【问题描述】:
我正在尝试遍历 Python cookiecutter json 列表中的所有项目并根据每个项目运行 bash 命令。
设置
我有以下cookiecutter.json:
{
"directory_name": "df-sharp",
"servers": ["db", "web"],
"myweb_provisioner": "webck"
}
我有{{cookiecutter.myweb_provisioner}}.sh,其中包含这个jinja2 代码:
{% for server in cookiecutter.servers %}
mkdir -p ~/myproj/host_types/{{ server }}
{% endfor %}
问题
当我运行cookiecutter create-server-tree 时,我得到以下信息:
Select servers:
1 - db
2 - web
Choose from 1, 2 [1]: 2
而webck.sh中的内容是:
mkdir -p ~/myproj/host_types/w
mkdir -p ~/myproj/host_types/e
mkdir -p ~/myproj/host_types/b
Select 菜单不应出现。我不想在列表中的 2 个元素之间进行选择。我想遍历它们并构造 2 个 bash 命令——每个元素一个命令。我正在尝试遍历列表,如 here 或 here 所示。
我想要什么
这就是我想要的:cookiecutter create-server-tree 应该生成 webck.sh,其中包含以下内容:
mkdir -p ~/myproj/host_types/db
mkdir -p ~/myproj/host_types/web
如何遍历servers 列表并使用每个列表元素(而不是一次一个字符)?
【问题讨论】:
标签: bash python-2.7 jinja2 cookiecutter