我希望通过创建两个for
循环变量来自动化dns-add。我不确定这是怎么回事。我知道下面的代码是错误的。我很难理解如何在单行中创建两个变量。
for i in `cat list.csv`;
for g in `cat list2.csv`; do
echo $i;
echo $g;
dns-add-record --zone=impl.wd2.wd --record=$i --type=CNAME --record-value=$g
done;
done
我认为唯一可行的就是这个,但我怀疑它会起作用。有人有任何提示吗?
for i in `cat list.csv` && \
for g in `cat list2.csv ; do
echo $i && $g;
dns-add-record --zone=impl.wd2.wd --record=$i --type=CNAME --record-value=$g
done;
done
答案 0 :(得分:7)
for
循环是错误的构造,用于迭代任何文件(请参阅Bash FAQ 001),更不用说两个文件了。改为使用带有read
命令的while循环。
while read -u 3 i; read -u 4 g; do
echo "$i"
echo "$g"
dns-add-record --zone=impl.wd2.wd --record="$i" --type=CNAME --record-value="$g"
done 3< list.csv 4< list2.csv
答案 1 :(得分:0)
我认为你遗失了一个refs/heads/foo/bar
?
do