我来翻译一下:
我想要做的是遍历这个变量中的每一行。
这段代码之前运行得非常好,但是当我添加了docker-compose的逻辑后,一切开始变得奇怪了。
现在只有一行被执行,之后这个脚本以0退出并停止迭代。我已经找到了解决方法:
这段文字的翻译是:“这很好地运行了,它迭代了每一行。现在我的问题是:为什么?ZSH和shell脚本可能有点神秘,而像这样运行在边缘情况下并不是我所经历的新鲜事物,但我想知道为什么成功执行的脚本会中断输入流。”
我有一个案例:有一个WordPress项目,我需要创建一个脚本来更新插件并将源代码更改提交到分离的分支。在执行此操作时,我遇到了一个奇怪的问题。
输入变量:
akimset,4.0.3
all-in-one-wp-migration,6.71
我想要做的是遍历这个变量中的每一行。
while read -r line; do
echo $line
done <<< "$variable"
这段代码之前运行得非常好,但是当我添加了docker-compose的逻辑后,一切开始变得奇怪了。
while read -r line; do
docker-compose run backend echo $line
done <<< "$variable"
现在只有一行被执行,之后这个脚本以0退出并停止迭代。我已经找到了解决方法:
echo $variable > file.tmp
for line in $(cat file.tmp); do
docker-compose run backend echo $line
done
这段文字的翻译是:“这很好地运行了,它迭代了每一行。现在我的问题是:为什么?ZSH和shell脚本可能有点神秘,而像这样运行在边缘情况下并不是我所经历的新鲜事物,但我想知道为什么成功执行的脚本会中断输入流。”
docker-compose run
命令?在这种情况下,您可以尝试执行docker-compose run -d backend echo $line
? - ErikMD