#! /bin/bash
count=1
step=(a b)
for x in 0 1
do
if [[ $count != '0' ]]; then
if [[ ${step[x]} = "a"]]; then
echo "Python test ($count)"
else
echo "stress test"
fi
fi
done
我得到以下错误
syntax error in conditional expression: unexpected token `;'
line 20: syntax error near `;
line 20: ` if [[ ${step[x]} = "a"]]; then'
为什么?
最佳答案
第二个 if
中的 "a"
和 ]]
之间需要一个空格。
从技术上讲,[[
和 ]]
必须是单独的标记,而 bash 的解析器不会在引号或大多数标点符号上分隔标记。
我相信您的原始代码相当于 if [[ ${step[x]} = "a]]";那么
如果这会使问题更加明显。
关于bash 脚本 : how can we use nested if in a for loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880369/