shell中的空间有什么用?

时间:2012-12-27 08:01:48

标签: linux shell

我有一个shell程序如下:

#!/bin/sh
a=1
b=2
c=`expr $a+$b`      
echo $c

输出为1+2

但如果我改变

c=`expr $a+$b\`

c=`expr $a + $b`

输出将为3。

我想知道这里有多少空间用途。

1 个答案:

答案 0 :(得分:2)

expr是一个shell命令,期望两种类型的参数:操作数(“数字”)和运算符(+, - ,*等)。在您的情况下,您希望将三个参数传递给expr,即$ a,+和$ b。美元符号值由shell扩展为实际值1和2,而不是expr。所以,当你执行expr $a + $b时,实际的shell命令是expr 1 + 2,它给你3个。

如果不放入空格,执行的内容为expr 1+2expr程序不知道如何处理1+2作为其唯一参数,因此只是将其回复原点。