您可以使用文件锁轻松完成此操作。
使用以下内容创建 2 个脚本。首先运行终端 A 脚本,然后运行 B。
航站楼 A:
touch /tmp/lockfile
flock -x /tmp/lockfile read -p 'press enter to begin'
command_a
Run Code Online (Sandbox Code Playgroud)
B航站楼:
flock -x /tmp/lockfile true
command_b
Run Code Online (Sandbox Code Playgroud)
Enter当您准备好开始时,按下终端 A。
它的工作方式是第flock一个获取独占锁/tmp/lockfile,并保持该锁直到您按下Enter。第二个flock也尝试获取独占锁,但由于锁已经被持有而被阻塞。一旦第一个flock释放锁,第二个就会运行/bin/true,它立即返回,因此命令继续。
是的,这意味着command_a将在command_b. 但是在 shell 脚本中,这种延迟无论如何都是不可避免的,所以这无关紧要。
根据您的 linux 风格,您可能没有/bin/read. 你可以通过这样做来完成同样的事情flock ... bash -c "read -p 'press enter to begin'"