我觉得自己像个白痴。我想要一个 BASH 函数,它每次调用时都会交替值。脚本本身很简单,直接调用函数就可以了。但是在字符串中调用时它的工作方式不同。这是代码:
odd_or_even()
{
if [ $ODDEVEN -eq 1 ]; then
echo "odd"
let "ODDEVEN+=1"
else
echo "even"
let "ODDEVEN-=1"
fi
}
ODDEVEN=1
odd_or_even # Prints "odd"
odd_or_even # Prints "even"
echo "<td class=\"`odd_or_even`\">Test</td>" # Prints class=odd
echo "<td class=\"`odd_or_even`\">Test</td>" # Prints class=odd
BASH 对在字符串中调用函数有限制吗?它似乎有效,因为它正在输出一些东西,但它没有执行数学运算。