如何添加shell脚本?

时间:2012-06-05 10:21:42

标签: bash unix

假设变量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线,对吧?我需要在整个文件中搜索而不给出数字。何

2 个答案:

答案 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