gpt4 book ai didi

linux - 从另一个脚本启动多个脚本 screen session

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:54 27 4
gpt4 key购买 nike

我写了一个看起来像这样的脚本(不起作用):

#!/bin/sh

screen -dmS "somename" $HOME/somescript.sh

j=13
for i in {0..5}; do
screen -dmS "name$i" $HOME/anotherscript.sh $i $j
j=10
done

如果我将其复制并粘贴到终端中,它会创建 7 个分离的 screen session ,如我所料。但是,如果我从脚本中运行它,当我运行 screen -ls 时,我只会得到第一个 session “somename”。我意识到 screen 可用于在一个 session 中创建多个窗口。这些脚本如何运行对我来说并不重要。我只是想弄清楚为什么这不能用作脚本。

注意:我在 SuperUser 上问过这个问题,但没有得到任何合适的回复。我想也许这是问什么可以被视为编程问题的错误地方。

最佳答案

可能被咬的一件事是您运行的是哪个特定 shell 的特定版本。 /bin/sh 实际上可能是 bash,也可能是 bourne,这可能会影响循环语法的解释方式。 {0..5} 结构在旧版本的 bash (v2.x) 中不被理解,例如,在 bourne 中也不被理解(至少当我最终设法找到时不是这样)一个 /bin/sh,它是一个真实的、实时的 bourne shell :-)。

我的建议是,如果您需要它的语法,请将您的 shebang 行更改为/bin/bash,并检查您的 bash 版本是否为 3.x 或更高版本。既然你说它可以从命令行运行,不过我敢打赌 shebang 行。

关于linux - 从另一个脚本启动多个脚本 screen session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6834429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com