Bash 用for循环启动多个分离的屏幕,每个屏幕上都有一个命令和一个for循环

Bash 用for循环启动多个分离的屏幕,每个屏幕上都有一个命令和一个for循环,bash,for-loop,screen,Bash,For Loop,Screen,我正在尝试编写一个使用forloop启动多个屏幕(因此,并行)的一行程序,在每个屏幕中运行另一个for循环(因此,顺序) 任何帮助都将不胜感激 我的尝试是使用一个for循环,使命名屏幕(screen-dmS)后跟screen-x NAME-x$somecommand,其中$somecommand本身就有for循环,但它还不能完全工作 我使用一些关于堆栈溢出的帖子越来越接近了,但仍然没有达到目的。到目前为止,我得到的是: for b in $(seq -s ' ' 0.000 0.005 0.02

我正在尝试编写一个使用forloop启动多个屏幕(因此,并行)的一行程序,在每个屏幕中运行另一个for循环(因此,顺序)

任何帮助都将不胜感激

我的尝试是使用一个for循环,使命名屏幕(screen-dmS)后跟screen-x NAME-x$somecommand,其中$somecommand本身就有for循环,但它还不能完全工作

我使用一些关于堆栈溢出的帖子越来越接近了,但仍然没有达到目的。到目前为止,我得到的是:

for b in $(seq -s ' ' 0.000 0.005 0.020); do command="for s in {1..3}; do for h in $(seq -s ' ' 0.000 0.010 0.030); do ./MultiGene -s $s -b $b -h ${h} -m 0.0 -u 0.0 -l 0.02 -name WM ${h}_b${b} -mix -w 0.3; done; done;"; screen -dmS "b${b}"; screen -x "b${b}" -X $command; done
现在,这没有给我一个错误,屏幕启动了,但是屏幕内部什么也没有发生。因此,我使用-X的第二位似乎不起作用(尽管这通常会产生错误?)

我想要的是,启动的屏幕实际上都启动了各自的for循环

干杯


PS我知道还有很多其他的方法可以做到这一点,但现在我真的很想解决这个难题;)

一句话被高估了。获取代码,使其结构清晰可见,当所有代码都按需要工作时,可以将其折叠成一行。(我建议你按照上面的问题去做,注意没有人会在这件事上帮忙)。祝你好运。你可能想通过与另一个试图滥用
屏幕
;-)的人对话来阅读。祝你好运。我真的很喜欢用可怕的一句话辱骂bash。压缩这样的东西会很有帮助。不管怎样,谢谢你的提示。一句话被高估了。获取代码,使其结构清晰可见,当所有代码都按需要工作时,可以将其折叠成一行。(我建议你按照上面的问题去做,注意没有人会在这件事上帮忙)。祝你好运。你可能想通过与另一个试图滥用
屏幕
;-)的人对话来阅读。祝你好运。我真的很喜欢用可怕的一句话辱骂bash。压缩这样的东西会很有帮助。不管怎样,谢谢你的提示。