假设我有
tmp0=2
let tmp=2*$tmp0+3 #randomm example
可以写成$(cat something | cut -d " " -f$tmp)
,但我想知道的是如何写$(cat something | cut -d " " -f$(2*$tmp0+3))
基本上我想知道如何使用"数学表达式"作为标志参数
你其实很接近了:
$(cat something | cut -d " " -f$((2*tmp0+3)))
注意((
和))
。事情就是这样做的。另外,请注意,我不需要变量上的$
。在数学表达式中,变量不需要$
,它的作用更像c。要从中获得值,您确实需要((
前面的$
。如果您不需要该值,而只需要其行为,则可以省略$
。下面是另一个例子:
for ((i=0; i < 10; ++i)); do
echo $i
done
由于我不需要表达式中的值,我可以省略$
.