这里我写了一个基本的bash脚本。我希望if块组织将输出写入何处。我编写条件逻辑的方式是否存在语法错误?我得到的错误是我有一个if或elif语句的每一行。我相信这可能与-eq比较运算符有关,或者可能与之缺少或括号有关。
这是我遇到的错误的一个示例(最后一个错误发生在终端中;最接近底部):
./ lit:第17行:[2:找不到命令
./ lit:第20行:[2:找不到命令
./ lit:第23行:[2:找不到命令
./ lit:第28行:[3:未找到命令
./ lit:第31行:[3:未找到命令
./ lit:第34行:[3:找不到命令
./ lit:第37行:[3:找不到命令
./ lit:第42行:[3:找不到命令
./ lit:第45行:[3:找不到命令
./ lit:第48行:[3:找不到命令
./ lit:第51行:[3:找不到命令
./ lit:第56行:[3:未找到命令
./ lit:第59行:[3:未找到命令
./ lit:第62行:[3:未找到命令
./ lit:第65行:[3:未找到命令
for i in {0..2};
do
for j in {0..3};
do
for k in {0..3}
do
for l in {0..3}
do
START=$(date +%s.%N)
#some command here
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)
if ["$i" -eq "0"];
then
echo "test$i$j$k$l $DIFF" >> repeatSample.txt;
elif ["$i" -eq "1"]
then
echo "test$i$j$k$l $DIFF" >> writeZeroes.txt
elif ["$i" -eq "2"]
then
echo "test$i$j$k$l $DIFF" >> repeatPacket.txt
fi
if [$j -eq 0]
then
echo "test$i$j$k$l $DIFF" >> byte15.txt
elif [$j -eq 1]
then
echo "test$i$j$k$l $DIFF" >> byte100.txt
elif [$j -eq 2]
then
echo "test$i$j$k$l $DIFF" >> byte500.txt
elif [$j -eq 3]
then
echo "test$i$j$k$l $DIFF" >> byte1000.txt
fi
if [$k -eq 0]
then
echo "test$i$j$k$l $DIFF" >> loss10.txt
elif [$k -eq 1]
then
echo "test$i$j$k$l $DIFF" >> loss22.txt
elif [$k -eq 2]
then
echo "test$i$j$k$l $DIFF" >> loss37.txt
elif [$k -eq 3]
then
echo "test$i$j$k$l $DIFF" >> loss50.txt
fi
if [$l -eq 0]
then
echo "test$i$j$k$l $DIFF" >> pinkpanth.txt
elif [$l -eq 1]
then
echo "test$i$j$k$l $DIFF" >> poeee.txt
elif [$l -eq 2]
then
echo "test$i$j$k$l $DIFF" >> dooors.txt
elif [$l -eq 3]
then
echo "test$i$j$k$l $DIFF" >> simplehead.txt
fi
done
done
done
done