我有以下内容的种子文件。
$cat seed.txt
macmachine,192.168.2.4,29772
windowsmachine,192.168.2.5,29772
$
当我首先运行 for 循环时,$x
将从种子文件中捕获第一行的第一个字段,即 macmachine
,然后“do”运行第二个 for 循环,这将捕获第一行的第二个字段等等...
这是我的for循环
for x in `cat seed.txt |cut -d ',' -f1`; do
for y in `cat seed.txt |cut -d ',' -f2`; do
curl -v -H -X GET -H "X-TEST-Request-Id: Domain-$x" http://$y:8080/static/test/$y.jsp;
done;
done
问题是它运行了 8 次。如果我从种子文件中删除第一行,它将只运行一次。
我确定循环有问题,但我无法追踪到。 请建议如何修复它。
最佳答案
当你想一行一行地处理时,做类似的事情
while IFS=, read -r x y z; do
curl -v -H -X GET -H "X-TEST-Request-Id: Domain-$x" "http://$y:8080/static/test/$z.jsp"
done < seed.txt
关于linux - 如何使用多个 cat 输入运行多个 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37354127/