是否可以同时运行两个循环?

Lif*_*ake 3 bash shell

所以我在网络安全课上有一个项目来制作一个bash游戏.我喜欢制作其中一个中世纪游戏,你可以在这里制作农场和地雷来获取资源.好吧,我喜欢做那样的事情.要做到这一点,我必须有两个while循环运行.像这样

while [ blah ]; do

    blah

done

while [ blah ]; do

    blah    

done
Run Code Online (Sandbox Code Playgroud)

是否可以同时运行两个while循环,如果我写错了怎么写呢?

Vic*_*ian 8

如果你&在每个之后添加一个done,done&那么你将在后台创建运行while循环的新进程.您必须小心地意识到这意味着什么,因为bash脚本将在创建这些新进程后继续执行命令,即使它们没有完成.您可以使用该wait命令来防止这种情况发生,但我不太习惯使用它,所以我不能保证它.

  • 使用`wait`是微不足道的; 你在脚本中写`wait`作为一个命令.脚本不会继续执行下一个命令(在`wait`之后),直到脚本启动的所有子进程都已完成. (2认同)
  • 就像您在前面的评论中建议的一样。`同时条件;做命令; 完成&while other_condition; 做OTHER_COMMANDS;完成并等待`,基本上。这里最重要的部分是“并发”,以及所有这些。如果您选择这条路线,那可能是您要重点关注的重要部分。否则,我建议您制作一个大型的主程序循环,该循环仅涉及游戏循环中每个步骤需要完成的不同工作,而不是多个循环同时运行。 (2认同)