我觉得自己像一个白痴。我需要一个BASH函数,每次调用它时都会交替出现值。脚本本身非常简单,如果我直接调用该函数,它就可以工作。但是在一个字符串内部调用时它不起作用。代码如下: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是否对字符串内部调用函数有限制?它似乎工作,因为它输出的东西,但它不执行数学运算。