假设变量a的值为42,
b=18+$a
The value of b should be 60
但我没有得到60的值。相反,它打印18 + 42。 我该怎么办?
新查询:
grep -F "$name" -A1000 filename | sed -n '1p;19p;24p'
假设a = 10,b = 20,c = 30.在上面的grep命令中,我可以使用'$ ap; $ bp; $ cp'而不是'1p; 19p; 24p'?
另一件事,我给了-A1000。这意味着从1p开始考虑直到1000线,对吧?我需要在整个文件中搜索而不给出数字。何
答案 0 :(得分:6)
b=$((18+a))
echo "value of b is $b"
或
let b=18+a
echo "value of b is $b"
答案 1 :(得分:1)
Bash中的任何数学运算都涉及使用$(())
所以,为了补充,你会这样做: -
b=$((18 + a))
请注意,a之前的'$'不是必需的。 Bash中的一些数学运算的例子是: -
a=$((17+1))
b=$((100-a))
c=$((a*b))
d=$((c/b))
echo $((10 * 1024 * 1024)) # Echoes the number bytes in 10 MB