【问题标题】:How to run GNU parallel with screen sessions arguments?如何使用屏幕会话参数并行运行 GNU?
【发布时间】:2013-06-08 06:11:09
【问题描述】:

我需要在 shell 脚本中运行多个并行屏幕(命令)会话,但似乎 GNU 并行现在正在使用屏幕参数。例如:

#!/bin/sh
parallel --gnu date ::: "-R" "-u"

工作正常,并行将两个参数传递给 date 命令。但是:

#!/bin/sh
parallel --gnu screen ::: "-d -m -S t1 bash -c 'echo hi 2>&1 | tee hi.txt'" "-d -m -S t2 bash -c 'echo bye 2>&1 | tee bye.txt'"

给我两个命令

Error: Unknown option d -m -S t1 bash -c 'echo hi 2>&1 | tee hi.txt'
Use: screen [-opts] [cmd [args]]

如果您仔细观察,“d”参数之前的 - 已被删除。也许我遗漏了什么明显的东西?

【问题讨论】:

  • 看看 --tmux 和 --tmuxpane。

标签: bash shell parallel-processing gnu-screen gnu-parallel


【解决方案1】:

并行将字符串"-d -m -S t1 bash -c 'echo hi 2>&1 | tee hi.txt'" 作为单个参数传递给screen。所以这个论点并没有被分割成文字,而且它看起来像是一个以-d 开头的很长的选项,屏幕无法理解。

我认为你想做这样的事情,虽然我没有测试过它或任何东西:

parallel --gnu "screen -d -m -S t1 bash -c 'echo {} 2>&1 | tee {}.txt'" ::: hi bye

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 2019-09-23
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多