【发布时间】:2015-12-18 19:04:17
【问题描述】:
我一直在使用 gnu-parallel 在 ubuntu 中并行运行 wine/dos 命令。我可以并且已经通过简单的命令成功地完成了这项工作。
但是,一些更复杂的问题可能会导致葡萄酒中的成分相互干扰。
因此,为了解决这个问题,我想使用在this question 中查询的 {%} 一次将一项工作限制为特定命名的“葡萄酒前缀”实例。问题是:{%} 替换似乎不起作用。
我最终希望能够运行类似以下的内容
parallel -j4 'WINEPREFIX=$HOME/slot{%} wine cmd /c @echo {%} 2>/dev/null' ::: A B C D
不幸的是,创建并使用了一个新的 wine 前缀 slot{%},而不是现存的 slot1、slot2、slot3 和 slot4 前缀目录。
按照我试过的手册:
parallel -j 2 echo {%} ::: A B C
但不是返回类似:
1
2
1
它返回:
{%} A
{%} B
{%} C
所以我认为问题不在于酒,而是其他问题:是否需要以某种方式启用 {%} 替换?也许它在我的版本中不可用?也许我错误地复制了示例用法?我在任何地方都找不到这个问题的其他例子,但它每次都发生在我身上。
作为一种较弱的解决方法,我一直在将 bash 模运算符应用于 {#} 作业替换,但这并不完美,因为我仍然偶尔会遇到插槽冲突和随后的崩溃。
仅供参考:lsb_release -a 返回
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
parallel --version返回
GNU parallel 20130922
【问题讨论】:
标签: bash parallel-processing wine