gpt4 book ai didi

linux - 运行 Vagrant SSH 会导致 BASH 循环提前终止

转载 作者:太空狗 更新时间:2023-10-29 12:28:14 26 4
gpt4 key购买 nike

<分区>

我有一个 bash 脚本,可以获取正在运行的 selenium 节点,获取它们的 ID,并通过 SSH 连接到它们以执行配置任务。

#!/bin/bash

# retrieve list of running vagrant machines, filter them to selenium nodes, and
# process provisioning for each
vagrant global-status --prune | grep "selenium_node" | while read -ra line ; do
echo -e "\033[32mBEGININNG ${line[1]} PROVISIONING\033[37m"

# adding this statement causes the loop to exit after 1 iteration
vagrant ssh ${line[0]} -- "
echo 'it runs'
"

echo -e "\033[32mEND ${line[1]} PROVISION\033[37m"
done

我的问题是运行 vagrant ssh 会导致循环在第一次迭代后终止。我通过删除“vagrant ssh”确认了这一点,结果是 BEGINNINGEND echo 命令在每次迭代中都成功运行(在我的例子中 - 两次迭代)。

奇怪的是,循环确实完成了它的第一次迭代(如 END 回显行完成所证明),它只是没有运行任何进一步的迭代。

此外,我已经确认它不仅仅是忽略显示其他迭代的输出。它从不在其他机器上执行任何操作。

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