这是我的脚本,在第一次迭代后会在while loop
上中断
while IFS='' read -r line
do
cd /root/clair-container-scan
image_name=$(echo $line|cut -d '/' -f2|cut -d ':' -f1)
sh clair-container-scan.sh $line >> /root/clair-container-scan/$image_name.log
done < "$1"
$ 1指向具有以下输入的文件。
kardasz/mysql:latest
visualops/httpd:latest
他们中的大多数人将其称为STDOUT
问题,因此已经尝试将>>
重定向更改为“ >
”,“ &>
”,“ {{1 }}”,但仍然无法正常工作。
将输出重定向到&>>
文件的命令将运行一分钟以上。有时它甚至不会运行第一次迭代,而只会给出空的输出。
有人可以帮助我了解脚本中的错误吗?
答案 0 :(得分:0)
通过使用for循环和读取数组解决了该问题。问题实际上是使用while循环读取的行,它具有特殊字符,例如“ /:”
filename=$1
readarray images < "$filename"
for line in "${images[@]}"
do
echo ""
done