【发布时间】:2020-03-24 09:38:12
【问题描述】:
我有以下 bash 脚本。它在 while 循环中运行 docker run 命令,该循环从文本文件中逐行读取。
#!/bin/sh -eu
while IFS= read -r url; do
docker run --rm -it alpine ls
done < repo_list.txt
执行上述脚本时出现此错误the input device is not a TTY。但是,如果我像这样删除while loop,它可以正常工作:
#!/bin/sh -eu
docker run --rm -it alpine ls
我知道我可以通过从 docker 命令中删除 -it 参数来修复它。但我想知道为什么while loop 会导致这个错误。有什么方法可以在不更改 docker 命令的情况下修复它?
【问题讨论】: